2013-05-29 5 views

ответ

15

Вы не можете. MessageBox - это специальный контейнер, предназначенный только для отображения сообщения и кнопок. Вместо этого вы можете создать свою собственную форму с любыми элементами управления, которые вы хотите, и использовать на нем .DisplayModal().

1

вы могли бы создать классическую форму выигрыша, который выглядит как окно сообщения и открытие ее в качестве модальной формы возможно, используя более Form.ShowDialog

информации на

http://msdn.microsoft.com/en-us/library/c7ykbedk.aspx

1

Как я знаю, нет никакого способа сделать это.

Вы можете создать изменение формы winform, чтобы он выглядел как MessageBox и добавлял ваши собственные элементы управления.

3

Будет лучше добавить новую форму в ваше приложение, которое вы можете настроить так, как хотите.

и просто назовите его там, где это требуется.

1

Вы не можете настроить MessageBox, тем лучше вы используете всплывающее окно, разработанное с использованием Windows Form отдельно, и используйте его экземпляр для вызова.

customPopup popup = new customPopup(); 
popup.ShowDialog(); 

Разместите ваши элементы управления на всплывающей форме и установить их модификаторы доступа к общественности, если вы хотите получить доступ к текстовым полям или этикетку и т.д. в предыдущей форме.

customPopup popup = new customPopup(); 
popup.msgLabel.Text= "Your message"; 
popup.ShowDialog(); 
0

Да, как упоминалось в krillgar, вы должны создать свою собственную форму. И 1. Инкапсулируйте форму в статическом классе или функции, поэтому вы можете просто вызвать MyMessageBox.Show(). 2. Текстовое поле должно иметь readonly = true, поэтому конечные пользователи не смогут изменять отображаемый текст, в то время как они могут выбирать текст и копировать в буфер обмена.

Что касается пункта 2, я считаю, что многие приложения для создания Windows и MS Office используют такой подход.

4

Вы можете просто добавить окно ввода из VB.NET в свой проект C#. Сначала добавьте Microsoft.VisualBasic в вашем проекте Ссылки, то используйте следующий код:

string UserAnswer = Microsoft.VisualBasic.Interaction.InputBox("Your Message ", "Title", "Default Response"); 

И это должно работать правильно.

-1

Решение здесь, вы можете создать форму окна и создать его, установить форму диалога, когда вы вызываете форму, это авто-шоу. В форме, которую вы создаете, вы устанавливаете значение некоторого параметра static, когда другой класс в проекте, но вы должны установить, когда вы закрываете проект формы, который, OK, возвратите диалоговое окно вызова init init, вы создаете интервал вызова, когда есть == null return call, когда! = null, вы перестаете перезвонить и используете параметр в статическом классе!

+0

Хотя это может быть ценным советом для решения проблемы, хороший ответ также демонстрирует решение.Пожалуйста, [править], чтобы предоставить пример кода, чтобы показать, что вы имеете в виду. В качестве альтернативы подумайте о том, чтобы вместо этого писать это как комментарий. –

Смежные вопросы