Форма Winforms MessageBox - PullRequest
       17

Форма Winforms MessageBox

1 голос
/ 19 сентября 2008

Я ищу способ иметь некоторый контроль над формой простого MessageBox в Winforms. Я хотел бы контролировать, где передаваемый текст переносится так, чтобы прямоугольник диалога был уже. Windows, кажется, хочет сделать диалог как можно более широким, прежде чем переносить текст. Есть ли простой способ контролировать максимальную ширину диалога, не прибегая к созданию собственной формы?

Ответы [ 5 ]

4 голосов
/ 19 сентября 2008

Вы можете вставлять новые строки в текст, чтобы принудительно переносить его в определенной точке. например,

"message text...\nmore text..."

обновление: я написал, что думаю, что это вопрос Win32 API, но я думаю, что принцип все еще должен применяться. Я предполагаю, что WinForms в конечном итоге вызывает MessageBox ().

1 голос
/ 19 сентября 2008

На самом деле есть только два пути (вменяемые пути)

1) Добавьте разрывы строк в свою строку, чтобы ограничить длину каждой строки.

2) Создайте собственную форму и используйте ее вместо окна сообщений.

0 голосов
/ 04 января 2011

Символы \ n новой строки дадут вам достаточно гибкости, тогда сделайте это. Я использую это много. Например. если я даю предупреждение, первая строка выдаст предупреждение, а следующая строка выдаст внутреннее сообщение об ошибке или дополнительную информацию в зависимости от ситуации. Если вы этого не сделаете, вы получите очень широкое окно сообщения с очень маленькой высотой!

MessageBox имеет ограниченную изменчивость, например. типы кнопок и значок. Если вам нужно больше, то создайте свой. После этого вы можете выполнять любые действия, такие как добавление URL, кнопка справки и т. Д.

0 голосов
/ 19 сентября 2008

Это , или, альтернативно, создайте свою собственную форму и используйте ее.

0 голосов
/ 19 сентября 2008

Что произойдет, если вы добавите свои собственные символы новой строки в передаваемое вами сообщение? Я уверен, что это сработает, если я правильно вспомню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...