C# 在一个类中利用委托去调用form中的textbox控件,发现控件没有显示,不知道是什么问题?请教各位高手
publicvoidtheout(objectsource,System.Timers.ElapsedEventArgse)//这个是定时器函数{if(ui.textBo...
public void theout(object source,System.Timers.ElapsedEventArgs e) //这个是定时器函数
{
if (ui.textBox11.InvokeRequired)
{
ui.textBox11.Invoke(new displayMessage(DisplayMessage));
}
else
{
//代码
ui.textBox11.Text = "12234";
// MessageBox.Show("OK!");
}
}
private void DisplayMessage()
{
ui.textBox11.Text ="fidfiif";
MessageBox.Show("OK!");
}
调试过后textbox毫无反应 展开
{
if (ui.textBox11.InvokeRequired)
{
ui.textBox11.Invoke(new displayMessage(DisplayMessage));
}
else
{
//代码
ui.textBox11.Text = "12234";
// MessageBox.Show("OK!");
}
}
private void DisplayMessage()
{
ui.textBox11.Text ="fidfiif";
MessageBox.Show("OK!");
}
调试过后textbox毫无反应 展开
1个回答
展开全部
你这个类中既然可以访问form类,那么都是在一个UI线程工作,你这个条件ui.textBox11.InvokeRequired 为false ,只会调用 ui.textBox11.Text = "12234"; 这段代码,你把判断条件去掉,就可以执行到 ui.textBox11.Invoke(new displayMessage(DisplayMessage));这段代码
追问
把判断条件去掉后还是没反应,但是能弹出messagebox,textbox还是没有显示
追答
你这段代码本身是没多大问题啊,问题应该出在其他部分,你好好检查下你form窗体和textbox的代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询