[C#] WinForms 中使用 NotifyIcon 顯示右下角提示視窗

閱讀時間約 3 分鐘

在開發 C# WinForms 應用程式時,有時我們想要以非侵入性的方式向使用者顯示訊息或通知,而不必打斷他們的工作流程。一種常見的方式是利用 Windows 的 NotifyIcon 類別,在右下角的系統通知區域顯示小圖示,並且在使用者單擊時顯示訊息氣球提示。本文將介紹如何在 C# WinForms 中使用 NotifyIcon 類別來實現這樣的功能。

建立 WinForms 應用程式

首先,我們需要建立一個新的 C# WinForms 專案。您可以在 Visual Studio 中建立新的 WinForms 專案,或者使用您喜歡的其他開發工具。

添加 NotifyIcon 控制項

在您的 MainForm 中,添加一個 NotifyIcon 控制項。您可以在工具箱中找到 NotifyIcon,然後將其拖放到您的表單上。

初始化 NotifyIcon

在 MainForm 的建構函式中,初始化 NotifyIcon。設定 NotifyIcon 的 Icon 屬性為您想要顯示的小圖示,並將其 Visible 屬性設定為 true。

private NotifyIcon notifyIcon;

public MainForm()
{
InitializeComponent();
InitializeNotifyIcon();
}

private void InitializeNotifyIcon()
{
notifyIcon = new NotifyIcon();
notifyIcon.Icon = SystemIcons.Information;
notifyIcon.Visible = true;
}

顯示提示視窗

定義一個方法來顯示提示視窗。通常,在某個事件處理函式中調用這個方法,例如按鈕的 Click 事件。

private void ShowNotification(string message)
{
notifyIcon.BalloonTipText = message;
notifyIcon.ShowBalloonTip(3000); // 顯示 3 秒
}

使用 ShowNotification 方法

在需要顯示提示視窗的地方,調用 ShowNotification 方法,並傳入您想要顯示的訊息。

private void buttonShowMessage_Click(object sender, EventArgs e)
{
ShowNotification("這是一個在右下角顯示的提示視窗!");
}

總結

通過上述步驟,您現在已經知道如何在 C# WinForms 應用程式中使用 NotifyIcon 類別來顯示右下角的提示視窗了。這是一個非常有用的功能,可用於向使用者提供即時的訊息或通知,同時又不會打斷他們的工作流程。您可以根據自己的需求進一步擴展這個功能,例如添加更多的圖示選擇或設定不同的顯示持續時間。

67會員
118內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
發表第一個留言支持創作者!
程式輕鬆玩 的其他內容
在這個教學中,我們將使用 C# 和 WinForms 來建立一個基本的行事曆應用。我們將使用 MonthCalendar 控制元件,這是一個方便的工具,可用於顯示和選擇日期。這篇文章介紹瞭如何建立基本的行事曆應用,以及如何設定事件處理和添加自定義功能。
在C#的視窗應用程式中,右鍵選單(Context Menu)是一個方便的使用者介面元素。當中的項目可以包含各種功能,而有時我們可能需要在使用者點擊右鍵選單中的某個項目時,取得該項目的值。以下是一個簡單的教學,教你如何在C#中實現這個功能。
當我們需要在C#中批次更改資料夾中的檔案名稱時,我們可以使用一個自定義的C#類別。這個類別會讓我們指定資料夾路徑和新的檔名,然後它會遍歷資料夾中的檔案,為每個檔案生成一個新的名稱,新名稱由指定的檔名加上一個序號組成。
當您需要使用 C# 程式語言來遍歷指定資料夾並刪除指定副檔名的檔案時,這篇教學將引導您完成這個任務。這個程式將使用遞迴方法,以確保不僅刪除指定資料夾中的檔案,還將刪除其所有子資料夾中符合條件的檔案。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
在這篇教學中,我們將會學習如何使用 C# 語言再設定的時間動作,模擬批次自動化功能。使用 System.Windows.Forms.Timer 來達到這個目的。同時,我們也將會示範如何取得目前時間的不同屬性,像是年份、日期、分鐘等。
在這個教學中,我們將使用 C# 和 WinForms 來建立一個基本的行事曆應用。我們將使用 MonthCalendar 控制元件,這是一個方便的工具,可用於顯示和選擇日期。這篇文章介紹瞭如何建立基本的行事曆應用,以及如何設定事件處理和添加自定義功能。
在C#的視窗應用程式中,右鍵選單(Context Menu)是一個方便的使用者介面元素。當中的項目可以包含各種功能,而有時我們可能需要在使用者點擊右鍵選單中的某個項目時,取得該項目的值。以下是一個簡單的教學,教你如何在C#中實現這個功能。
當我們需要在C#中批次更改資料夾中的檔案名稱時,我們可以使用一個自定義的C#類別。這個類別會讓我們指定資料夾路徑和新的檔名,然後它會遍歷資料夾中的檔案,為每個檔案生成一個新的名稱,新名稱由指定的檔名加上一個序號組成。
當您需要使用 C# 程式語言來遍歷指定資料夾並刪除指定副檔名的檔案時,這篇教學將引導您完成這個任務。這個程式將使用遞迴方法,以確保不僅刪除指定資料夾中的檔案,還將刪除其所有子資料夾中符合條件的檔案。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
在這篇教學中,我們將會學習如何使用 C# 語言再設定的時間動作,模擬批次自動化功能。使用 System.Windows.Forms.Timer 來達到這個目的。同時,我們也將會示範如何取得目前時間的不同屬性,像是年份、日期、分鐘等。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
自從C#8.0開始,許多樣板的專案檔(.csproj)中多了以下這個設定<Nullable>enable</Nullable> ,它讓你coding開始進入twilightzone(陰陽魔界),對一切reference type 的寫法都不一樣了。reference type本來就是nullable
程式寫久了對執行流程會總有些自以為是的邏輯,而這些自己為是的可能讓你產生難以找尋的Bug.比如說在任何地方return就是直接回到原呼叫端的流程,但是這個return在try block中可能不是想像中的那樣。 以下範例讓我們看看return之後程式跑到那去? // returnInTryBlo
Thumbnail
以下會舉一個簡單的生活例子 (Inherit 繼承) 以顯示出Inheritance 的基本用法, 以下供各位參考: 相關頁面: C#繼承 – Inheritance 繼承 的基本用法 – 加入 for loop, if, Array, Collection的例子
Thumbnail
長期處於慢性肝炎的狀態下,還會增加罹患肝癌的風險,加速「肝炎→肝硬化→肝癌」(肝病三部曲)病程惡化。高嘉宏教授解釋,「C型肝炎病毒會持續破壞肝臟,一旦進入肝硬化,每一年約有3%-5%患者會產生肝癌。如果不能早期診斷,早期治療的話,患者的存活或生活品質都會受到很大的影響。」
string SrcStr = "admin"; string[] UserNameCvt = SrcStr.Split(','); Roles.AddUsersToRole(UserNameCvt, "Administrator"); 註記: 網路上較少此種例子,多為string[] to S
Thumbnail
可能包含敏感內容
如果你有關注台灣媒體,就會知道安心亞是全台首位公開穿C字褲的女藝人,那時才2009年,跟現在相比之下算是民風更為保守的年代,一方面真的很佩服她的勇氣,另一方面又會覺得:穿C字褲有什麼好處呢?其實C字褲並不是大眾印象中跟情色畫上等號的東西,反而像是丁字褲的升級版而已,都能拿來做隱藏痕跡使用。希望這篇文
Thumbnail
C世代(Connected Generation, 連接世代)是美容保養品-網購的主力──了解他們的特質,才能讓保養品網路行銷大賣... 隨著智慧裝置普及,全球「網路購物」市場高速增長(根據eMarketer統計:全球零售電子商務銷售額,2017年為1.357萬億美元,預估至2021年將達3.554
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
自從C#8.0開始,許多樣板的專案檔(.csproj)中多了以下這個設定<Nullable>enable</Nullable> ,它讓你coding開始進入twilightzone(陰陽魔界),對一切reference type 的寫法都不一樣了。reference type本來就是nullable
程式寫久了對執行流程會總有些自以為是的邏輯,而這些自己為是的可能讓你產生難以找尋的Bug.比如說在任何地方return就是直接回到原呼叫端的流程,但是這個return在try block中可能不是想像中的那樣。 以下範例讓我們看看return之後程式跑到那去? // returnInTryBlo
Thumbnail
以下會舉一個簡單的生活例子 (Inherit 繼承) 以顯示出Inheritance 的基本用法, 以下供各位參考: 相關頁面: C#繼承 – Inheritance 繼承 的基本用法 – 加入 for loop, if, Array, Collection的例子
Thumbnail
長期處於慢性肝炎的狀態下,還會增加罹患肝癌的風險,加速「肝炎→肝硬化→肝癌」(肝病三部曲)病程惡化。高嘉宏教授解釋,「C型肝炎病毒會持續破壞肝臟,一旦進入肝硬化,每一年約有3%-5%患者會產生肝癌。如果不能早期診斷,早期治療的話,患者的存活或生活品質都會受到很大的影響。」
string SrcStr = "admin"; string[] UserNameCvt = SrcStr.Split(','); Roles.AddUsersToRole(UserNameCvt, "Administrator"); 註記: 網路上較少此種例子,多為string[] to S
Thumbnail
可能包含敏感內容
如果你有關注台灣媒體,就會知道安心亞是全台首位公開穿C字褲的女藝人,那時才2009年,跟現在相比之下算是民風更為保守的年代,一方面真的很佩服她的勇氣,另一方面又會覺得:穿C字褲有什麼好處呢?其實C字褲並不是大眾印象中跟情色畫上等號的東西,反而像是丁字褲的升級版而已,都能拿來做隱藏痕跡使用。希望這篇文
Thumbnail
C世代(Connected Generation, 連接世代)是美容保養品-網購的主力──了解他們的特質,才能讓保養品網路行銷大賣... 隨著智慧裝置普及,全球「網路購物」市場高速增長(根據eMarketer統計:全球零售電子商務銷售額,2017年為1.357萬億美元,預估至2021年將達3.554