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

来源:百度知道 编辑:UC知道 时间:2024/05/29 23:56:12
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)有时运行会正常,但有事运行会失败,并抛出异常是“请求剪切板失败”,请问问什么?多谢您了!!

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

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

或者

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

richtextbox 的格式 是 rtf 格式的

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

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

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