如何允许在MessageBox上复制邮件

Who*_*nja 53 .net c# wpf

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

Joe*_*oey 98

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

  • - > Total Nitpick < - WinForms不是WPF.这是一个非常好的技巧. (5认同)

dan*_*xyz 24

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

例如

    MessageBox.Show("Message", "Message Title", MessageBoxButton.OK);
Run Code Online (Sandbox Code Playgroud)

将复制和粘贴为:

    ---------------------------
    Message Title 
    ---------------------------
    Message
    ---------------------------
    OK   
    ---------------------------
Run Code Online (Sandbox Code Playgroud)


Joh*_* K. 6

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

System.Windows.Forms.Clipboard.SetDataObject(messageToShowInMsgBoxString, true);
Run Code Online (Sandbox Code Playgroud)

将该项目复制到剪贴板.

  • 但是,破坏用户的剪贴板并不是很好. (10认同)
  • 是的,但您可以将其添加到按钮单击事件中,以便它只在他们选择时进行复制. (3认同)

小智 6

我这样做是这样的:

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

效果很好。