2009-04-07 4 views
2

У меня есть 3 иконки. Когда я скомпилирую приложение, я использую первый значок значка - главное приложение.
И у меня есть еще две иконки в ресурсах.Значок приложения

Когда я показываю MessageBox.Show (...), первый значок приложения появляется на панели задач. По какой-то причине я хочу иметь возможность менять главный значок во время выполнения.

ответ

0

Я не уверен, что вы можете изменить значок стандартного MessageBox. Возможно, вам придется создать свой собственный MesageBox. Затем он просто меняет иконку для стандартной winform. Это было подробно описано как на MSDN, так и на многих страницах, которые можно найти в Google.

1

Я не думаю, что это прямолинейно, взгляните на это article, это может помочь вам.

0

Я уверен, что стандартный метод MessageBox.Show() не может отображать пользовательский значок (вы можете указать из нескольких разных в перечислении, но вы не можете поставить там произвольное) но если у вас нормальная форма .NET, просто установите свойство «Значок» для изображения, которое вы хотите, и оно работает. Когда вы это делаете во время выполнения, могут возникнуть обычные запросы на приостановку/возобновление макета до и после, или они могут не работать, но я не знаю, но это не должно быть большой задачей для установки свойства в форме.

1

Вы можете изменить значок, отображаемый в окне сообщения, используя P/Invoke для вызова функции Windows MessageBoxIndirect.

1
System.Drawing .Icon ica= new Icon (Application.StartupPath + "\\" + "my_new_icon.ico"); 

this.Icon = ica; //This is an Active Form 
Смежные вопросы