2015-12-03 57 views
0

對不起,如果之前已詢問過此問題。但我正在嘗試創建一個基於圖標的通知應用程序,使用該應用程序我想顯示一些範圍從1到999的數字。我想在系統托盤上顯示數字通知窗口上的圖標

我看着https://www.youtube.com/watch?v=GZeTCcP-qmA&ab_channel=techhead287這與我想要做的類似,但這裏的系統嘗試圖標只是顯示圖標,它顯示了一個彈出式窗口,而不是顯示數字或任何文本的系統托盤圖標。

不包括彈出項,我只想讀取一個數字(從某處輸入)並在通知圖標部分顯示該數字。

我很樂意嘗試使用任何技術(QT,.net)。基本上我正在尋找這些的一些例子。

任何想法表示讚賞。

+0

這甚至可能嗎? –

回答

1

雖然你的部分問題含糊不清,但這是非常可能的,我甚至敢說很簡單。既然你提到你願意嘗試任何技術,C#可能會爲你簡化一些事情。

  • 生成一個新的16 x 16 Bitmap並使用Graphics類繪製數字。
  • 在處理完Graphics對象後,將Image實例轉換爲Icon實例。
  • 將您的NotifyIconIcon屬性設置爲您剛剛創建的圖標。

這些是基本步驟。如果你不熟悉所使用的類,你可能需要做一些研究。

0

感謝您回覆我的問題。這是我想出來的。不知道這是你在說什麼。

Bitmap bmp = new Bitmap(WindowsFormsApplication2.Properties.Resources._16by16BitmapIcon);
RectangleF rectf = new RectangleF(2,2,16,16);
圖形g = Graphics.FromImage(bmp);
g.DrawString(「99」,new Font(「Tahoma」,7),Brushes.Blue,rectf);
pictureBox1.Image = bmp;
pictureBox1.Height = bmp.Height;
pictureBox1.Width = bmp.Width;
g.Dispose();
var thumb =(Bitmap)bmp.GetThumbnailImage(64,64,null,IntPtr.Zero);
thumb.MakeTransparent();
notifyIcon1.Icon = Icon.FromHandle(thumb.GetHicon());

現在我的下一個問題可以通過更好的方式來完成嗎?這是我的第一個C夏普應用程序,歡迎任何建議!

+0

你的代碼看起來不錯,但你不應該發佈你的問題的答案,除非他們實際上是答案。 –