代码
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;
}
}
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;
}
}