Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在windows应用程序中的notifyicon图标上显示文本_C#_Windows_Winforms_Windows Applications_Notifyicon - Fatal编程技术网

C# 在windows应用程序中的notifyicon图标上显示文本

C# 在windows应用程序中的notifyicon图标上显示文本,c#,windows,winforms,windows-applications,notifyicon,C#,Windows,Winforms,Windows Applications,Notifyicon,我正在创建一个windows应用程序。在这个应用程序中,我使用了notifyicon并将我的应用程序最小化到系统托盘。在单击按钮的代码中,我在后台处理一些事情,并每2秒返回一个整数值。我需要在notify图标上显示该值 有人能帮我吗?试试方法: 在指定的时间段内,在任务栏中显示带有指定标题、文本和图标的引出序号提示 如果要更改托盘图标,请按需创建一个图标,并将其设置为: 要创建图标,可以使用以下代码(已更新): 请参见同一项目: 试试这个。希望这对你有帮助 你最多能做这样的事 Graph

我正在创建一个windows应用程序。在这个应用程序中,我使用了
notifyicon
并将我的应用程序最小化到系统托盘。在单击按钮的代码中,我在后台处理一些事情,并每2秒返回一个整数值。我需要在
notify图标上显示该值

有人能帮我吗?

试试方法:

在指定的时间段内,在任务栏中显示带有指定标题、文本和图标的引出序号提示

如果要更改托盘图标,请按需创建一个图标,并将其设置为:

要创建图标,可以使用以下代码(已更新):

请参见同一项目:


试试这个。希望这对你有帮助

你最多能做这样的事

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());

我已经在用这个了,但问题是如果我用这个,我必须每秒显示一次气球。我认为最好在这一行的通知图标上显示相同的图标(不象34)它说,
'System.Drawing.Icon'不包含接受0个参数的构造函数
我将图标文件添加到资源文件夹中并完成了此操作<代码>图标图标=ProjectName.Properties.Resources.notifficationicon我已经看到了这一点,但每秒执行这段代码会给程序带来负担。我使用的是windows xp,但最终的应用程序可能会在win 7中使用。请尝试我上面的代码。替换抽绳(“2”)。使用34这样的值。它将在xp和7上工作。请参阅添加现有资源。如何重新调整图标文件的大小??图像文件正在裁剪。我需要自动调整大小?
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;
} 
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());