如何指定MessageBox
应在任务栏中使用哪个图标?没有MessageBox.Show
重载让我选择任务栏图标,只有一个图标可以在实际表单中使用。
答案 0 :(得分:7)
我认为不可能更改任务栏图标;你唯一的选择就是制作自己的MessageBox。
答案 1 :(得分:3)
简短的回答:你不能。
简短回答#2:您需要为此制作自己的表格,并手动显示。
答案 2 :(得分:1)
为了能够在任务栏显示MessageBox
的图标,我发现了一种避免创建自定义表单的方法,但不知怎的,我们将创建一个虚拟表单(或者您可以将其更改为匿名表单):
using (Form dummy = new Form() {
Icon = Properties.Resources.ico_Main_Logo
, TopMost = true
, FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
, Size = new System.Drawing.Size(0,0)
, BackColor = Color.White
, TransparencyKey = Color.White
})
{
dummy.Show();
MessageBox.Show(dummy, "This is a MessageBox with Icon at Taskbar and on top of all windows", "Title Text", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
通过以上方式,这些有用的功能将是可能的:
MessageBox
的图标。 (我使用应用程序设置加载图标,你可以从磁盘或...)MessageBox
窗口。 (如果你不想要它,那么设置TopMost = false
)MessageBox
图标。 (只需在使用时初始化一个简单的表单并删除dummy.Show();
行。)或者只是这样的初始匿名表单隐藏任务栏中的MessageBox
图标:
MessageBox.Show(new Form(), "This is a MessageBox Hide it from Taskbar", "Title Text", MessageBoxButtons.OK, MessageBoxIcon.Information);
无论如何,我只是想分享我的新成就,所以它也可以帮助别人。谢谢。
这很好, 但是我不知道为什么 即使我将Form Size
设置为(0, 0)
它的大小仍然是131x37!但由于表单设置为透明度,它将不可见,鼠标指针将点击低谷。