2013-05-18 45 views
2

我在我的資源字典中有一個資源項(一個PNG文件),我在幾個地方使用它。現在我想用它作爲應用程序的NotifyIcon。但我不知道該怎麼做。請問你有什麼想法嗎?如何從BitmapImage創建NotifyIcon?

// my image: 

var bitmap = new BitmapImage(); 
bitmap.UriSource = new Uri("pack://application:,,,/MyProj.Resources;component/Icons/Logo_48x48.png"); 

// and I try to do this: 

var iconHandle = bitmap.GetHicon(); // but this line doesn't work 
var ni = new NotifyIcon { 
    Icon = System.Drawing.Icon.FromHandle(iconHandle), 
    Visible = true 
}; 
+0

一個簡單的解決辦法是隻存儲一個圖標,而不是位圖。所以你不需要轉換任何東西。您可以使用Visual Studio創建一個。 –

回答

4
var sri = Application.GetResourceStream(
    new Uri("pack://application:,,,/MyProj.Resources;component/Icons/Logo_48x48.png")); 
var bitmap = new Bitmap(sri.Stream); 
var handle = bitmap.GetHicon(); 
var ni = new NotifyIcon { 
    Icon = System.Drawing.Icon.FromHandle(handle), 
    Visible = true 
}; 
相關問題