我想为Windows制作二进制时钟。但我希望它替换默认时钟(2个时钟是不理想的)。
因此,其中一种方法就是将旧二进制时钟绘制在旧时钟之上。我怎么做?允许使用外部库。
我已经尝试过这样的事了:
public Form1()
{
InitializeComponent();
this.Paint += new PaintEventHandler(Form1_Paint);
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillEllipse(new SolidBrush(Color.Blue), new Rectangle(1500, 790, 20, 20));
}
如果事实证明是不可能的话,我会再提出一些关于桌频的问题。但是现在我要求在Windows任务栏上绘图。
答案 0 :(得分:3)
这种方法有很多问题。
任务栏与您的应用程序分开存在。您无法轻松地使用它,您需要通过Windows SDK与其进行交互(例如,自定义您的应用程序的弹出式预览)。此外,如果Windows允许每个想要在任务栏上绘制的应用程序都这样做,那将是一个糟糕的主意。如果每个人都画画,谁会赢?
即使您可以在其上进行绘制,您也必须考虑它及其弹出窗口所做的每一件事。它有多宽?如果您点击日历会发生什么?如果它的风格不同怎么办?如果有多个时钟怎么办?用户是否有权利用时钟做事?
没有内置方法来更换时钟。替换确实存在,但主要是通过挂钩弹出窗口并执行我在第二个选项中列出的内容。请参阅T-Clock作为示例。
你走另一条路线会好得多。
答案 1 :(得分:0)
Chris Hannon的答案很好,但也许我的这个问题可以帮助你更好:C# Display text on the taskbar | Windows 10请查看Shahrooz Ansari批准的答案。