CodeGo.net>如何允许在MessageBox上复制消息

如何允许在WPF中从MessageBox中选择和复制文本?

WhoIsNinja asked 2020-01-13T16:54:24Z
5个解决方案
98 votes

如果您不需要选择文本,则只需使用System.Windows.Forms.MessageBox。 它映射到系统默认值,该默认值已允许使用Ctrl + C复制其内容。

Joey answered 2020-01-13T16:54:42Z
23 votes

您可以仅在消息框处于焦点状态时使用Ctrl + C,但它会为您提供比错误消息更多的文本。

例如

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

将复制并粘贴为:

    ---------------------------
    Message Title 
    ---------------------------
    Message
    ---------------------------
    OK   
    ---------------------------
danielcooperxyz answered 2020-01-13T16:55:11Z
6 votes

如果要显示消息框...

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

将项目复制到剪贴板。

John K. answered 2020-01-13T16:55:35Z
6 votes

我这样做是这样的:

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

效果很好。

GadyC answered 2020-01-13T16:55:59Z
1 votes

最好的方法是使用带有可选文本控件的窗口,例如文本框。 我可以凭经验说这是最简单的方法,并且不需要花费很多时间或代码更改即可实现。

A.R. answered 2020-01-13T16:56:20Z
translate from https://stackoverflow.com:/questions/4809520/how-to-allow-copying-message-on-messagebox