因為使用notifyicon時,在應用程式結束時,並不會自動從常駐程式列移除,所以必須在window上加入另一事件為Closing 是在視窗關閉前引發的,所提供的機制可以防止視窗關閉。防止視窗關閉的一個原因,是針對視窗內容包含修改過的資料時。在這種情況下,Closing 事件的處理可以判斷資料是否經過變更,如果是的話,將詢問使用者是否要繼續關閉視窗而不儲存資料,或者是取消視窗關閉。

相關程式碼如下:

 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 x:Class="DemoWindow.Window1"
 x:Name="Window"
 Title="Window1"
    Loaded="Window_Loaded"
    Closing="Window_Closing"
    MouseLeftButtonDown="Window_MouseLeftButtonDown"
    MaxHeight="738" MaxWidth="1024"
 Width="320" Height="550" AllowsTransparency="True" Opacity="1" WindowStyle="None" Background="Transparent" >


...
NotifyIcon notifyIcon;
...
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            Console.WriteLine("Window_Closing");
             //移除notifyicon
            notifyIcon.Dispose();
        }

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()