Как разрешить копирование сообщения в MessageBox - PullRequest
50 голосов
/ 26 января 2011

Как разрешить выделение и копирование текста из MessageBox в WPF?

Ответы [ 5 ]

95 голосов
/ 26 января 2011

Если вам не нужно , выбирая текст в качестве требования, просто используйте System.Windows.Forms.MessageBox. Он сопоставляется с системным по умолчанию, который уже позволяет копировать его содержимое с помощью Ctrl + C .

23 голосов
/ 07 ноября 2012

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

, например

    MessageBox.Show("Message", "Message Title", MessageBoxButton.OK);

Скопировал бы и вставил как:

    ---------------------------
    Message Title 
    ---------------------------
    Message
    ---------------------------
    OK   
    ---------------------------
5 голосов
/ 08 сентября 2016

Я сделал это так:

string msgtext = "message text";
if (MessageBox.Show(msgtext, "bla bla bla. (OK to copy)", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)
  { Clipboard.SetText(msgtxt); }

Работает довольно хорошо.

5 голосов
/ 26 января 2011

Если вы отображаете окно сообщения ...

System.Windows.Forms.Clipboard.SetDataObject(messageToShowInMsgBoxString, true);

скопирует элемент в буфер обмена.

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

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

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