Предотвратить разрыв строки на новую строку в MessageBox - PullRequest
1 голос
/ 08 августа 2011

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

Спасибо.

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Мы уже сталкивались с этой проблемой в прошлом, вставляя символы новой строки (\ r \ n) в текст нашего сообщения. MessageBox будет расти вертикально в соответствии с текстом переноса. Раньше у нас были настолько широкие MessageBoxы, что вы даже не могли видеть центрированные кнопки, но теперь они отображаются нормально.

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

Например:

MessageBox.Show("Line1\r\nLine2\r\nLine3\r\nLine4", "MessageBox test");
MessageBox.Show("Line1 Line2 Line3 Line4", "MessageBox test");

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

1 голос
/ 08 августа 2011

Единственный (поддерживаемый) способ иметь такой контроль над тем, как все изложено здесь, - это исключить вспомогательный класс MessageBox и создать собственный класс Form, который делает то, что вам нужно.

...