在写P2P,聊天工具出现了问题(C#)

private void button1_Click(object sender, EventArgs e) { richTextBox2.Text = "—昵称—说—(⊙o⊙)—" + DateTime.Now.ToLongTimeString() + "尀r" + richTextBox2.Text + "尀r尀r"; richTextBox2.SelectAll(); richTextBox2.Cut(); if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true) { //richTextBox1.Text.Length; //其与剪切板的区别在与其可以粘贴格式 richTextBox1.Select(richTextBox1.Text.Length, 0); richTextBox1.Focus(); richTextBox1.Paste(); sp.Play(); richTextBox1.Focus(); } 在此判断语句if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true)有时运行会正常,但有事运行会失败,并抛出异常是“请求剪切板失败”,请问问什么?多谢您了!!
2026年09月27日 17:09
有3个网友回答
网友(1):

看这句的意思是判断剪贴板中的数据格式是否为Text

请求失败可能是其他程序在使用剪贴板,没有释放

网友(2):

为什么要用这么复杂的一句呢?
if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true)

直接用
if (Clipboard.ContainsText(TextDataFormat.Rtf))
{}

或者

if (Clipboard.ContainsText())
{}
不就OK 了吗

richtextbox 的格式 是 rtf 格式的

网友(3):

菜鸟回答:检查一下实际参数与形式参数的引用是否正确。