閱讀895 返回首頁    go 阿裏雲 go 技術社區[雲棲]


在c#中關於線程調用控件

由於c#不允許非創造控件線程調用控件,所以遇到過很多問題。

提示:

線程間操作無效: 從不是創建控件“showtable_btn”的線程訪問它。

有些小鬱悶

因為是剛剛使用thread

原始代碼大概如下

private void showtable_btn_Click(object sender, EventArgs e)

{

thread t = new thead(s)

t.start()

}

 

private void s()

{

textbox1.text = "www";

}

 

如果報出上述的錯誤 

 

於是我做了的修改

 

1.增加一個

delegate void SetVisibleDelegate();

2.新加一個函數

privare void sinvoke()

{

this.Invoke(new SetVisibleDelegate(s))

}

3.之後重新調用

private void showtable_btn_Click(object sender, EventArgs e)

{

thread t = new thead(sinvoke)

t.start()

}
這樣的話
一切就OK了

最後更新:2017-04-02 00:06:46

  上一篇:go 如何遍曆數據庫表格及每個表格的字段
  下一篇:go C# 獲得當前目錄和執行目錄的一些方法