我希望在 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 = "test"
SetData中的布尔参数可能旨在解决此问题,但在我的机器上并没有解决。我已经在其他地方读到这不是默认行为,但这仍然让我想知道为什么会发生这种情况。有什么建议吗?