我正在創建一個Windows應用程序。在這個應用程序中,我使用了notifyicon
,並將我的應用程序最小化爲系統托盤。在按鈕點擊的代碼中,我在後臺處理一些東西並每2秒返回一個整數值。我需要在Notifyicon
上顯示價值。在windows應用程序中顯示notifyicon圖標上的文本
任何人都可以幫我嗎?
我正在創建一個Windows應用程序。在這個應用程序中,我使用了notifyicon
,並將我的應用程序最小化爲系統托盤。在按鈕點擊的代碼中,我在後臺處理一些東西並每2秒返回一個整數值。我需要在Notifyicon
上顯示價值。在windows應用程序中顯示notifyicon圖標上的文本
任何人都可以幫我嗎?
嘗試NotifyIcon.ShowBalloonTip
方法:
顯示氣球尖端具有指定標題,文本和圖標在任務欄爲指定的時間段。
void Form1_DoubleClick(object sender, EventArgs e)
{
notifyIcon1.Visible = true;
notifyIcon1.ShowBalloonTip(20000, "Information", "This is the text",
ToolTipIcon.Info);
}
如果你想改變托盤圖標,創建一個圖標按需並將其設置爲NotifyIcon.Icon
:
創建圖標,你可以使用此代碼(更新):
public static Icon GetIcon(string text)
{
Bitmap bitmap = new Bitmap(32, 32);
Icon icon = SmsSender.Properties.Resources.notifficationicon;
System.Drawing.Font drawFont = new System.Drawing.Font("Calibri", 16, FontStyle.Bold);
System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.White);
System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap);
graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixel;
graphics.DrawIcon(icon, 0, 0);
graphics.DrawString(text, drawFont, drawBrush, 1, 2);
Icon createdIcon = Icon.FromHandle(bitmap.GetHicon());
drawFont.Dispose();
drawBrush.Dispose();
graphics.Dispose();
bitmap.Dispose();
return createdIcon;
}
看到這個項目:
試試這個。希望這可以幫助你。
http://www.dotnetperls.com/notifyicon
http://www.codeproject.com/Articles/37451/Display-Progress-and-Overlay-Icons-for-Multiple-Vi
而且最你可以做一些這樣的事情。
Graphics canvas;
Bitmap iconBitmap = new Bitmap(16, 16);
canvas = Graphics.FromImage(iconBitmap);
canvas.DrawIcon(YourProject.Resources.YourIcon, 0, 0);
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
canvas.DrawString(
"2",
new Font("Calibri", 8, FontStyle.Bold),
new SolidBrush(Color.FromArgb(40, 40, 40)),
new RectangleF(0, 3, 16, 13),
format
);
notifyIcon.Icon = Icon.FromHandle(iconBitmap.GetHicon());
我已經看到這個,但是每秒執行一次這個總代碼將會是程序 –
看代碼項目文章的一個負擔。你使用Windows 7嗎? – JSJ
不,我使用的是Windows XP,但最終的應用程序可能會用在贏7 –
我已經在使用,但問題是如果我使用這個,我必須每秒鐘顯示氣球。我認爲最好在通知圖標上顯示相同的(不像34) –
在這一行中Icon Icon = new Icon();它說,System.Drawing.Icon不包含一個構造函數,需要0個參數' –
我將圖標文件添加到資源文件夾並完成此操作。 'Icon icon = ProjectName.Properties.Resources.notifficationicon;' –