Как разрешить выбор и копирование текста из MessageBox в WPF?
Как разрешить копирование сообщения на MessageBox
Ответ 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 с возможностью выбора текстового элемента управления, например текстовое поле. По опыту могу сказать, что это самый простой способ, и не потребуется много времени или изменений кода для реализации.