使用委託及控制元件的invoke方法處理窗體控制元件的跨執行緒訪問
namespace thread2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Thread threadb;
delegate void setText(string s);
setText ST;
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "0";
ST = new setText(setLabelText);
}
private void setLabelText(string s)
{
label1.Text = s;
}
private void button1_Click(object sender, EventArgs e)
{
threadb = new Thread(new ThreadStart(runner));
threadb.Start();
}
private void runner()
{
for (int i = 0; i <= 100; i++)
{
label1.Invoke(ST, new object[]{i.ToString()});
Thread.Sleep(500);
}
}
private void thread2_FormClosing(object sender, FormClosingEventArgs e)
{
if (threadb.IsAlive)
threadb.Abort();
}
}
}
相關文章
- Winform中使用委託實現跨執行緒安全呼叫控制元件ORM執行緒控制元件
- C#Invoke委託在多執行緒中的使用C#執行緒
- c#-跨執行緒控制元件訪問問題C#執行緒控制元件
- C#中多執行緒 委託的使用C#執行緒
- c#多執行緒 Invoke方法的使用C#執行緒
- 使用委託開啟多執行緒(多執行緒深入)執行緒
- 子執行緒與UI執行緒的通訊(委託)執行緒UI
- c#多執行緒更新視窗介面之 Invoke和BeginInvoke方法的使用C#執行緒
- QT中跨執行緒警告的處理QT執行緒
- 委託、Lambda表示式、事件系列04,委託鏈是怎樣形成的, 多播委託, 呼叫委託鏈方法,委託鏈異常處理事件
- C# WinForm 執行緒間操作無效: 從不是建立控制元件的執行緒訪問它的解決辦法C#ORM執行緒控制元件
- C#中的執行緒一(委託中的非同步)C#執行緒非同步
- JAVA不使用執行緒池來處理的非同步的方法Java執行緒非同步
- c#基礎,單執行緒,跨執行緒訪問和執行緒帶引數C#執行緒
- MFC不能多執行緒操作控制元件的原因執行緒控制元件
- 多執行緒程式設計,處理多執行緒的併發問題(執行緒池)執行緒程式設計
- 利用CheckForIllegalCrossThreadCalls=false設定跨執行緒訪問ROSthreadFalse執行緒
- WPF執行緒中獲取控制元件的值和給控制元件賦值執行緒控制元件賦值
- Iframe 父子窗體互調javascript方法及相互獲取控制元件JavaScript控制元件
- 關於多執行緒訪問靜態方法的問題執行緒
- c# 垮執行緒呼叫控制元件C#執行緒控制元件
- 在子執行緒中建立新的窗體,遇到的問題。執行緒
- Excel VBA - 控制元件與使用者窗體 及 常用函式Excel控制元件函式
- Java之執行緒安全問題的3種處理方式(通過執行緒同步)Java執行緒
- IO處理執行緒執行緒
- C#中的執行緒二(BeginInvoke和Invoke)C#執行緒
- Spring中多執行緒的使用及問題Spring執行緒
- java多執行緒:執行緒體往外丟擲異常的處理機制實踐Java執行緒
- BCB 窗體透明控制元件 (轉)控制元件
- Netty中的執行緒處理EventLoopNetty執行緒OOP
- C#實現窗體拖動、不允許窗體拖動、任意控制元件執行時拖動C#控制元件
- MySQL記憶體執行緒獨享使用的方法MySql記憶體執行緒
- 《軟體自動化測試成功之道》節選4 - 標準控制元件的特殊問題的處理方法控制元件
- Android 中 EventBus 的使用(3):多執行緒事件處理Android執行緒事件
- 執行緒的建立及執行緒池執行緒
- 多執行緒訪問—限制某個方法只執行一次執行緒
- Jmeter 跨執行緒組引數傳遞的方法JMeter執行緒
- Java—執行緒的生命週期及執行緒控制方法詳解Java執行緒