下面是源码,为什么第一次正常,第二次操作就是未将对象实例化了?从新复制再执行操作也一样。换机器也是同样的问题。
重新启动程序也只能执行一次。IDataObject iData = Clipboard.GetDataObject();
string[] format = iData.GetFormats(false);
for (int i = 0; i < format.Length; i++)
{
    if (format[i] == DataFormats.Html)
    {
        string HtmlData = Clipboard.GetData(DataFormats.Html).ToString();
    }
}

解决方案 »

  1.   

    我用你代码测试了下没问题啊:
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                this.richTextBox1.Text = "";
                IDataObject iData = Clipboard.GetDataObject();
                string[] format = iData.GetFormats(false);
                for (int i = 0; i < format.Length; i++)
                {
                    if (format[i] == DataFormats.Html)
                    {
                        string HtmlData = Clipboard.GetData(DataFormats.Html).ToString();
                        this.richTextBox1.Text = HtmlData;
                    }
                }
            }
      

  2.   

    使用 ContainsData 方法确定剪贴板中是否包含指定格式或兼容格式的数据
    Windows 的应用程序都共享系统剪贴板,
    剪贴板的内容可能会发生变化。
      

  3.   

    DataFormats中定义的数据格式字符串http://blog.csdn.net/sxldfang/archive/2010/05/24/5619088.aspx
      

  4.   

    后面我有做赋值操作,webBrowser1.DocumentText = HtmlData 注释掉这个就没问题了。还不太明白怎么回事。