public partial class Main : Form
{
public Main()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Thread tdTmp = new Thread(new ThreadStart(new Hebf(ref textBox1).test));
tdTmp.Start();
tdTmp.Join();
}
}
class Hebf
{
TextBox textBox_Main;
public Hebf(ref TextBox textBox_MainTmp)
{
this.textBox_Main = textBox_MainTmp;
}
public void test()
{
textBox_Main.Text += "asad";//这样出错
}
}
不同的class里怎么操作?
{
public Main()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Thread tdTmp = new Thread(new ThreadStart(new Hebf(ref textBox1).test));
tdTmp.Start();
tdTmp.Join();
}
}
class Hebf
{
TextBox textBox_Main;
public Hebf(ref TextBox textBox_MainTmp)
{
this.textBox_Main = textBox_MainTmp;
}
public void test()
{
textBox_Main.Text += "asad";//这样出错
}
}
不同的class里怎么操作?
Thread tdTmp = new Thread(new ThreadStart(new Hebf(ref textBox1).test));
to
Hebf hebf = new Hebf(ref textBox1);
Thread tdTmp = new Thread(new ThreadStart(hebf.test));
{
Thread tdTmp = new Thread(new ThreadStart(new Hebf(textBox1).test));
tdTmp.Start();
//tdTmp.Join();
}class Hebf
{
TextBox textBox_Main;
public Hebf(TextBox textBox_MainTmp)
{
textBox_Main = textBox_MainTmp;
} public void test()
{
textBox_Main.Invoke(new EventHandler(DoInvoke));
}
private void DoInvoke(object sender, EventArgs e)
{
textBox_Main.Text += "asad";
}
}
你的Hebf的实例化时调用的textBox1在什么地方申明的吗!!
不知道你想实现什么效果,是不是在进程里面修改textBox1的值吗?
如果是这样,你需要使用委托!!