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