Re: [問題] 跨執行緒快速更新UI的問題
※ 引述《james732 (好人超)》之銘言:
: 目前用Winform寫一隻小程式
: 上面有個Label與DataGridView
: 首先會開啟一個新的執行緒,然後產生亂數值
: (實際使用時,這個值會從serial port讀進來)
: 然後把這個值更新至Label與DataGridView上
: 並把DataGridView捲動到最下面
你好 我的用法如下 可以參考下面類似的作法
雖然我是textBox, 不過其實差不多, 大部份UI元件都可以實現。
重點是new Callback1的方式 和 this.invoke
else 依需求自己修正即可。
delegate void SetTextBoxCallback1(string text);
private void Set_textBox1(string s)
{
if (this.textBox1.InvokeRequired)
{
SetTextBoxCallback1 stbc = new
SetTextBoxCallback1(Set_textBox1);
this.Invoke(stbc, new object[] { s });
}
else
{
if (textBox1.Lines.Length > 20)
{ s_message = ""; this.textBox1.Text = ""; }
this.textBox1.Text = s;
this.textBox1.Select(textBox1.Text.Length, 0);
this.textBox1.ScrollToCaret();
}
}
--
就算這個世界不信任我
但我還是想相信這個世界
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.254.103
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1432030904.A.6A0.html
→
05/19 18:25, , 1F
05/19 18:25, 1F
※ 編輯: pkmu8426 (59.126.254.103), 05/19/2015 19:09:53
推
05/19 20:07, , 2F
05/19 20:07, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章