国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#線程間不能調(diào)用剪切板的解決方法

2020-01-24 02:39:48
字體:
供稿:網(wǎng)友

最近做一個(gè)C#項(xiàng)目,需要用到線程,而且要用到剪切板,創(chuàng)建了一個(gè)子線程之后發(fā)現(xiàn)在子線程中剪切板上獲取不到數(shù)據(jù),經(jīng)過一番查找與測試最終該問題得以解決,現(xiàn)將解決方法歸納如下,供大家參考:

第一步:

public void btnAutoFocus_Click(object sender,EventArgs e){Thread myThread = new Thread(msc.AutoFocusArithmetic);//注意,一般啟動一個(gè)線程的時(shí)候沒有這句話,但是要操作剪切板的話這句話是必需要加上的,//因?yàn)榧羟邪逯荒茉趩尉€程單元中訪問//這里的STA就是指單線程單元myThread .SetApartmentState(ApartmentState.STA); myThread .Start();}

第二步:還需要將Program啟動類中

static class Program{////// 應(yīng)用程序的主入口點(diǎn)。///[STAThread] //這句話保留,如果要在主線程中訪問剪切板,這句式必須要的//如果要在子線程中訪問剪切板,這個(gè)應(yīng)該可以不要,但是默認(rèn)是有的static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MainForm());//Application.Run(new TestRGBPixelThumbForm());//Application.Run(new TestImageForm());//Application.Run(new TestJudgeDefinitionForm());//Application.Run(new TestVirusForm());}}

第三步:這個(gè)是讀取剪切板數(shù)據(jù)

private Image GetCaptureImage(){IDataObject iData = Clipboard.GetDataObject();Image img = null;if (iData != null){if (iData.GetDataPresent(DataFormats.Bitmap)){img = (Image)iData.GetData(DataFormats.Bitmap);}else if (iData.GetDataPresent(DataFormats.Dib)){img = (Image)iData.GetData(DataFormats.Dib);}}return img;}

至此問題得以解決。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉峪关市| 山东| 利津县| 汕头市| 阳江市| 阳朔县| 米泉市| 临湘市| 抚顺市| 弥渡县| 泰州市| 姚安县| 玉溪市| 南部县| 顺义区| 开原市| 临潭县| 米脂县| 信阳市| 晋江市| 丰原市| 扶风县| 沂南县| 鹿泉市| 襄城县| 海原县| 兰考县| 河津市| 西林县| 贺兰县| 静海县| 克拉玛依市| 公安县| 金秀| 泊头市| 永和县| 祁连县| 柳河县| 麻城市| 海口市| 全州县|