代碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
delegate void SendDelete(SendArgs args);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.comboBox1.SelectedIndex = 1;
this.comboBox2.SelectedIndex = 3;
Thread thread = new Thread(CrossThreadFlush);
thread.IsBackground = true;
thread.Start();
}
private void txt(SendArgs ar)
{
//根據傳過來的comBox值執行一段自訂的動作。。
MessageBox.Show(ar.str1, ar.str2);
}
private void CrossThreadFlush()
{
//while (true)
//{
SendArgs args = new SendArgs();
//
//這裡使用的是匿名委託
//
// this.BeginInvoke((MethodInvoker)delegate{
// args.str1 = this.comboBox1.Text;
// //
// //有幾個都可以,在參數類裡面加就可以了
// //
// args.str2 = this.comboBox2.Text;
// }, args
//);
////this.BeginInvoke(new SendDelete(InvokeMethod), args); //非同步
this.Invoke(new SendDelete(InvokeMethod), args); //同步
txt(args);
//}
}
void InvokeMethod(SendArgs args)
{
args.str1 = this.comboBox1.Text;
//
//有幾個都可以,在參數類裡面加就可以了
//
args.str2 = this.comboBox2.Text;
}
}
public class SendArgs : EventArgs
{
public string str1;
public string str2;
public string str3;
}
}