系统托盘中的NotifyIcon.设置宽度和高度

本文关键字:高度 设置 NotifyIcon 系统 | 更新日期: 2023-09-27 18:10:22

我有一些代码来显示一些文本作为系统托盘中的图标:

public Form1()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        Brush brush = new SolidBrush(Color.White);

        // Create a bitmap and draw text on it
        Bitmap bitmap = new Bitmap(16, 16);
        Graphics graphics = Graphics.FromImage(bitmap);
        graphics.DrawString("sometext", DefaultFont, brush, 0, 0);

        // Convert the bitmap with text to an Icon
        IntPtr hIcon = bitmap.GetHicon();
        Icon icon = Icon.FromHandle(hIcon);
        notifyIcon1.Icon = icon;
    }
    private void Form1_Resize(object sender, EventArgs e)
    {
        if (FormWindowState.Minimized == WindowState)
        {
            Hide();
        }
    }
    private void notifyIcon1_DoubleClick(object sender, EventArgs e)
    {
        Show();
        WindowState = FormWindowState.Normal;
    }

但是图标总是一个正方形,因此,并不是所有的文本都显示出来。

是否有一种方法来创建一个更宽的图标?

系统托盘中的NotifyIcon.设置宽度和高度

根据MSDN:Notifications and Notification Area

通知区域图标应该是高dpi感知的。一个应用程序应该同时提供一个16 × 16像素的图标和一个32 × 32的图标在其资源文件,然后使用LoadIconMetric来确保正确图标被加载并适当缩放。

所以你不能创建宽图标。正如@Sayse所说,图标不是用来显示文本的