高手们 帮帮忙  在上网搜到的到处都是这句话“ Clipboard.SetDataObject(lab_url.Text,true);”我用了之后就出现了这样的错误:在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。这要怎么办啊 我用的是VS2008 c#

解决方案 »

  1.   

    你的Main函数是怎样定义的呢?
      

  2.   

    参考下面的Main函数的属性:[STAThread]
    tatic void Main(string[] args)
    {
    }
      

  3.   

    我没有Main函数啊   我是C#
      

  4.   

    每天回帖即可获得10分可用分!
    ———————————————————————————
    static void Main(string[] Margs)
    {
        Console.WriteLine("得分完毕!");
    }
      

  5.   

    是网页程序怎么能用服务端的Clipboard呢。
    你是不是想在客户端操作Clipboard啊,考虑下使用脚本。
      

  6.   

    参考:// set the clipboard
    // var x = 'Whatever you want on the clipboard';
     window.clipboardData.setData('Text',"abcdefg");// get the clipboard data
    var d=window.clipboardData.getData('Text');// clear the clipboard
    window.clipboardData.clearData();
      

  7.   

    ?获取到你要复制的内容放做为参数传到setData,应该可以啊。
      

  8.   

    static void Main(string[] Margs)
    {
        Console.WriteLine("得分完毕!");
    }很有创意,这方面的问题我写过。不记得嘞
      

  9.   

    function gettxt()
        {
            var value = document.getElementById("lab_url");
            window.clipboardData.setData('Text',value.text);
            alert("复制成功!");
        }我是这么写的 然后再点击事件时调用
      

  10.   

    看一下是不是有区域限制呢?
    你调用SetData后再getData看看是否成功了。有可能是应用程序私有的剪切板类型。
      

  11.   


    function gettxt()
        {
            if(window.clipboardData) 
            {   debugger
                var labtxt = document.getElementById('<%= lab_url.ClientID %>');
                window.clipboardData.clearData();   
                window.clipboardData.setData("Text", labtxt.outerText);   
                alert("复制成功!");   
            } 
        }呵呵   得到了  
    谢谢各位