Как разрешить копирование сообщения на MessageBox - программирование
Подтвердить что ты не робот

Как разрешить копирование сообщения на MessageBox

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

4b9b3361

Ответ 1

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

Ответ 2

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

например.

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

Скопируйте и вставьте как:

    ---------------------------
    Message Title 
    ---------------------------
    Message
    ---------------------------
    OK   
    ---------------------------

Ответ 3

Если вы показываете сообщение...

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

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

Ответ 4

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

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

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

Ответ 5

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