網站首頁 編程語言 正文
氣球狀提示框的介紹和系統通知變化
NotifyIcon控件表示系統右下角任務欄上的托盤圖標,其ShowBalloonTip
方法用于顯示任務欄中一定時間的具有指定標題、消息內容和圖標的氣球狀提示框(氣泡提示框)。
也可以通過NotifyIcon屬性BalloonTipIcon
、BalloonTipText
、BalloonTipText
指定相關內容。
單獨介紹它的變化,是因為在Win7及之前的系統中,該方法顯示提示為氣球狀的提示框,基本效果如下:
但是在Win10,氣球狀的提示框已經該系統本地的toast通知效果取代,也就是,使用NotifyIcon的ShowBalloonTip
方法,將會顯示系統本地通知,具體效果如下:
并且notifyIcon.ShowBalloonTip(timeout)
第一個參數timeout,從Windows Vista開始,此參數已經無效,通知的顯示時間基于系統的輔助功能設置,所以一般設置為0即可。
消息通知的提示
新建項目NotificationTrayToolTip
,添加兩個按鈕,一個顯示,一個關閉,以及一個名為notifyIcon
的NotifyIcon控件(初始可見性設置為false:notifyIcon.Visible = false;
)。
設計器中為notifyIcon
的Icon屬性指定一個圖標文件。
ShowBalloonTip()方法及指定消息類型
顯示氣泡提示按鈕的點擊事件中,設置notifyIcon
可見,并執行ShowBalloonTip()
方法,其第二個參數為標題,第三個參數為消息內容,最后一個為消息類型。
private void buttonPro1_Click(object sender, EventArgs e) { notifyIcon.Visible = true; // timoeout參數已經無效,通知的顯示時間基于系統的輔助功能設置 notifyIcon.ShowBalloonTip(0, "消息標題-Error", "這是一個錯誤類型的消息內容", ToolTipIcon.Error); }
系統toast通知顯示內容對應notifyIcon控件的屬性或參數:
關閉消息提示按鈕的點擊事件代碼中,設置Visible = false
關閉系統提示:
private void buttonPro2_Click(object sender, EventArgs e) { notifyIcon.Visible = false; //notifyIcon.Visible = true; }
notifyIcon.Visible = false
會清空所有相關的系統操作中心里面的消息通知。
NotifyIcon屬性設置消息
通過屬性也可以指定消息內容、標題、類型等:
notifyIcon.BalloonTipIcon = ToolTipIcon.Warning; notifyIcon.BalloonTipText = "測試"; notifyIcon.BalloonTipTitle = "標題"; notifyIcon.ShowBalloonTip(0);
BalloonTipIcon不同的消息類型
ToolTipIcon消息類型圖標的取值有四種,和方法中的對應:
- ToolTipIcon.Info
- ToolTipIcon.Warning
- ToolTipIcon.Error
- ToolTipIcon.None
ToolTipText屬性
Winform中許多控件都提供有ToolTipText
屬性,用于設置提示消息,用于在鼠標位于控件上方(懸停)時,顯示提示語。
通常都是容器控件的子控件項有這個屬性,用于提示不同的子項信息。
一般在設置子項控件的ToolTipText
后,要想使提示生效,還需要設置父容器控件的ShowItemToolTips
為true(DataGridView
為ShowCellToolTips
屬性)。
如下,ToolStrip、MenuStrip1、ListView、DataGridView、TabControl等幾種控件啟用tip提示,并為子項設置不同的提示信息。
//必須設置ShowToolTips為true,當鼠標位于tab時顯示提示 tabControl1.ShowToolTips = true; tabPage1.ToolTipText = "你好,我是tab提示"; dataGridView1.ShowCellToolTips = true; dataGridView1[0, 0].ToolTipText = "單元格的tip"; toolStrip1.ShowItemToolTips = true; toolStripLabel1.AutoToolTip = true; toolStripLabel1.ToolTipText = "toolStrip1子項的提示"; menuStrip1.ShowItemToolTips = true; menuStrip按鈕ToolStripMenuItem.AutoToolTip = true; menuStrip按鈕ToolStripMenuItem.ToolTipText = "menuStrip1子項的提示"; listView1.ShowItemToolTips = true; listView1.Items[0].ToolTipText = "我是listViewItem的提示";
接本效果如下:
但默認提供的提示文本的顯示,并不及時,并且,如果窗體不是焦點窗體,這些提示也都是無效的(而有的子項,如果是激活狀態,tip也會無效)
ToolTip提示控件顯式或主動的提示消息
通過ToolTip
控件可以設置在哪個控件上顯示什么提示信息,以及通過事件觸發的方式(比如hover、鼠標進入、鍵盤按鍵),顯式的或多種條件下,展示提示框。
一個ToolTip同時為多個控件設置提示
ToolTip.SetToolTip(Control control, String caption)
方法為指定control
控件設置caption
提示消息。
并且,一個ToolTip可以應用多個控件。
toolTip.SetToolTip(button1, "我是按鈕1提示"); toolTip.SetToolTip(radioButton1, "單選提示,必需選擇"); toolTip.SetToolTip(buttonPro1, "使用ToolTip的提示");
顯式設置ToolTip
根據需要在事件中顯式的進行提示:
button1.MouseEnter += Button1_MouseEnter; //... private void Button1_MouseEnter(object sender, EventArgs e) { toolTip.SetToolTip(button1, "鼠標進入提示"); }
注:消息提示是跟隨鼠標的,如果鼠標未在控件位置上方,提示也不會顯示出來。
原文鏈接:https://juejin.cn/post/7135101480037515300
相關推薦
- 2023-12-16 IDEA中設置遠程調試服務器上的程序
- 2022-01-19 webpack5 熱更新無響應
- 2022-11-23 Golang?Defer基礎操作詳解_Golang
- 2022-09-20 Android開發Retrofit源碼分析_Android
- 2022-08-15 數據結構之數組棧的實現
- 2022-09-29 Python組合數據類型詳解_python
- 2022-09-01 C++中的Z字形變換問題_C 語言
- 2022-09-30 Docker容器搭建本地私有倉庫詳情_docker
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支