如何允许在MessageBox上复制邮件

时间:2011-01-26 20:13:13

标签: c# .net wpf

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

5 个答案:

答案 0 :(得分:94)

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

答案 1 :(得分:23)

您可以使用 Ctrl + C ,而消息框具有焦点,但它会提供比错误消息更多的文本。

e.g。

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

将复制并粘贴为:

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

答案 2 :(得分:5)

如果您正在显示消息框......

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

会将项目复制到剪贴板。

答案 3 :(得分:5)

我是这样做的:

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

效果很好。

答案 4 :(得分:0)

最好的方法是使用带有可选文本控件的Window,例如文本框。我可以从经验中说,这是最简单的方法,并且不会花费太多时间或代码更改来实现。