很抱歉,如果之前有人询问过。但我正在尝试创建一个基于图标的通知应用程序,我想用它来显示1-999之间的一些数字。
我看了https://www.youtube.com/watch?v=GZeTCcP-qmA&ab_channel=techhead287这与我想要做的类似但是在这里系统尝试图标只显示图标,它显示弹出窗口而不是系统托盘图标显示数字或任何文字。< / p>
排除弹出项目,我想要做的就是读取一个数字(从某处输入)并在通知图标部分显示该数字。
我愿意尝试任何技术(QT,.net)来做到这一点。基本上我正在寻找这些的一些例子。
任何想法都表示赞赏。
答案 0 :(得分:2)
虽然你的部分问题很模糊,但这很有可能,我甚至敢说 - 很简单。既然你提到你开始尝试任何技术,C#可能会为你简化一些事情。
Bitmap
并使用Graphics
类为其绘制数字。Image
对象后,将Icon
实例转换为Graphics
实例。Icon
的{{1}}属性设置为您刚刚创建的图标。这些是基本步骤。如果您不熟悉所使用的课程,您可能需要做一些研究。
答案 1 :(得分:1)
感谢您回复我的问题。这就是我想出的。不确定这是不是你在说什么。
位图bmp =新位图(WindowsFormsApplication2.Properties.Resources._16by16BitmapIcon);
RectangleF rectf = new RectangleF(2,2,16,16);
图形g = Graphics.FromImage(bmp);
g.DrawString(&#34; 99&#34;,new Font(&#34; Tahoma&#34;,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 Sharp应用程序,欢迎任何建议!
答案 2 :(得分:0)
public void ShowText(string text, Font font, Color col)
{
Brush brush = new SolidBrush(col);
// Create a bitmap and draw text on it
Bitmap bitmap = new Bitmap(16, 16);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.DrawString(text, font, brush, 0, 0);
// Convert the bitmap with text to an Icon
Icon icon = Icon.FromHandle(bitmap.GetHicon());
m_notifyIcon.Icon = icon;
}