系统托盘中的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;
}
但是图标总是一个正方形,因此,并不是所有的文本都显示出来。
是否有一种方法来创建一个更宽的图标?
根据MSDN:Notifications and Notification Area
通知区域图标应该是高dpi感知的。一个应用程序应该同时提供一个16 × 16像素的图标和一个32 × 32的图标在其资源文件,然后使用LoadIconMetric来确保正确图标被加载并适当缩放。
所以你不能创建宽图标。正如@Sayse所说,图标不是用来显示文本的