gpt4 book ai didi

c# - 剪贴板在 C# 程序退出时自动清除

转载 作者:行者123 更新时间:2023-11-30 12:27:21 25 4
gpt4 key购买 nike

我希望在 C# 程序退出时保留剪贴板中的内容。

例如,在具有以下按钮单击事件的简单 Winform 应用程序中:

  private void button1_Click( object sender, EventArgs e )
{
string preResultText = Clipboard.GetData( DataFormats.StringFormat ) as string;

DataObject dataObject = new DataObject();
dataObject.SetData( DataFormats.StringFormat, true, "test" );
Clipboard.SetDataObject( dataObject );

string resultText = Clipboard.GetData( DataFormats.StringFormat ) as string;

}

当程序运行两次并且在每次运行期间按一次按钮时,preResultText 应该与 resultText 相同。

相反,我得到:

preResultText = null

resultText = "测试"

SetData 中的 bool 参数大概是为了解决这个问题,但我的机器上没有。我在别处读到这不是默认行为,但这仍然让我想知道为什么会这样。有什么建议吗?

最佳答案

解决方案是在调用SetDataObject时将copy参数设置为true:

Clipboard.SetDataObject(dataObject, true);

在您的情况下,您可能会更好地使用 GetTextSetText:

string preResultText = Clipboard.GetText();

Clipboard.SetText("test");

string resultText = Clipboard.GetText();

关于c# - 剪贴板在 C# 程序退出时自动清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25566672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com