如何允许在MessageBox上复制邮件
我如何允许从WPF中的MessageBox中select和复制文本?
如果您不需要select文本作为要求,只需使用System.Windows.Forms.MessageBox。 它映射到系统默认的一个,它已经允许用Ctrl + C复制它的内容。
当消息框有焦点时,您可以使用Ctrl + C ,但它会给您更多的文本,而不仅仅是错误消息。
例如
MessageBox.Show("Message", "Message Title", MessageBoxButton.OK);
将复制和粘贴为:
--------------------------- Message Title --------------------------- Message --------------------------- OK ---------------------------
如果你正在显示消息框…
System.Windows.Forms.Clipboard.SetDataObject(messageToShowInMsgBoxString, true);
将项目复制到剪贴板。
我这样做了:
string msgtext = "message text"; if (MessageBox.Show(msgtext, "bla bla bla. (OK to copy)", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK) { Clipboard.SetText(msgtxt); }
它工作得很好。
最好的方法是使用带有可选文本控件的窗口,例如文本框。 我可以从经验中得知,这是最简单的方法,不需要太多的时间或代码更改来实现。