Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MessageBox上显示的Windows默认图标_C#_Wpf_Windows - Fatal编程技术网

C# MessageBox上显示的Windows默认图标

C# MessageBox上显示的Windows默认图标,c#,wpf,windows,C#,Wpf,Windows,在MainWindow构造函数中,在显示我的MainWindow之前,我正在进行一些检查,可能会提示出现一个MessageBox对话框。发生这种情况时,Windows taksbar中将显示一个丑陋的Windows默认图标,旁边有消息框标题 我已经在属性->应用程序->资源->图标中为我的应用程序设置了一个图标 在调用MessageBox.Show之前,我试图调用InitializeComponent(),但它没有改变任何东西 一旦我的应用程序完全启动(我退出main窗口constructor)

MainWindow
构造函数中,在显示我的
MainWindow
之前,我正在进行一些检查,可能会提示出现一个
MessageBox
对话框。发生这种情况时,Windows taksbar中将显示一个丑陋的Windows默认图标,旁边有消息框标题

我已经在属性->应用程序->资源->图标中为我的应用程序设置了一个图标

在调用
MessageBox.Show
之前,我试图调用
InitializeComponent()
,但它没有改变任何东西

一旦我的应用程序完全启动(我退出
main窗口
constructor),相应的图标就会出现在任务栏中


有没有办法阻止这个丑陋的图标显示出来,或者用我自己的图标替换它?

这应该只在调试时发生。尝试使用ctrl+f5运行,或直接执行.exe文件。

如果您使用的是visual studio…..请转到“属性”窗口并更改“图标”属性


不要在构造函数中显示消息框。此时,对象(窗体)尚未完全创建


请改为尝试窗体的“加载”事件。

如上所述,转到窗体的属性,将图标设置为您也希望转到的图标 项目>(项目名称)属性>应用程序(选项卡),并在那里设置图标(在底部)。您还可以使用更改messagebox的图标

MessageBox.Show("Foo", "Bar", MessageBoxButtons.OK, MessageBoxIcon.Warning);

阅读更多

阅读后,我更喜欢覆盖该方法。对!使用Ctrl+F5可以完成这项工作!