public void ShowText(string Texts)
{
if (this.InvokeRequired)
{
this.Invoke((EventHandler)delegate { this.ShowText(Texts); });
return;
} else
{
richTextBox1.AppendText(Texts);
MessageBox.Show(Texts);
} }
为什么 MessageBox.Show(Texts); 这句可以正常。
而 richTextBox1.AppendText(Texts); 这句没反应?
{
if (this.InvokeRequired)
{
this.Invoke((EventHandler)delegate { this.ShowText(Texts); });
return;
} else
{
richTextBox1.AppendText(Texts);
MessageBox.Show(Texts);
} }
为什么 MessageBox.Show(Texts); 这句可以正常。
而 richTextBox1.AppendText(Texts); 这句没反应?
解决方案 »
- 如何实现在winform中模拟登陆网站后,浏览器打开该网站为已登录状态
- C#如何做图像的矢量化
- 这个实例化谁能帮忙解释一下,谢谢
- C# MDI模式 创建并打开同类型的多个子窗口,子窗口名字不同,如何获得当前活动的子窗口的编号?
- 请教大家怎么从数据库里取出各个字段的内容
- 大家说说存储过程的最大好处是什么?
- VS.net 2005 官方简体中文正式版什么时候出来啊
- C#如何得到每月的最后一天
- 明年就要去实习了,我应该继续学习.net 还是学习 j2ee / vc / c++ / 嵌入式 呢?
- 为什么我DataGrid里模板列的复选框不能保留被复选状态?谢谢指教
- 保存文件对话框 SaveFileDialog 的 Filter 属性如何赋值可以实现选择多种文件类型呢?
- 求C#入门的教材!
richTextBox1.Text(texts);//richbox赋值
这两句代码没问题的,断点调试,看看别的地方哪里没传到值
public void ShowText(string Texts)
{
if (this.InvokeRequired)
{
ShowTextDelegate d = new ShowTextDelegate(ShowText);
this.Invoke(d, new object[]{Texts});
return;
} else
{
richTextBox1.AppendText(Texts);
MessageBox.Show(Texts);
} }如果没参数肯定OK
有参数最好按要求来。
跟踪调试下
或
else
{
richTextBox1.AppendText("我改变了");
MessageBox.Show(Texts);
}
{
if (this.InvokeRequired)
{
this.Invoke(this.ShowText, new object[]{Texts});
return;
} else
{
richTextBox1.AppendText(Texts);
MessageBox.Show(Texts);
} }
主窗体 - 启动线程 - 子线程调用主窗体的代码,并在主窗体的 1ichTextBox1 中显示。
delegate void ShowTextDelegate(string Texts);
public void ShowText(string Texts)
{
if (this.InvokeRequired)
{
ShowTextDelegate d = new ShowTextDelegate(ShowText);
this.Invoke(d, new object[] { Texts });
return;
} else
{
richTextBox1.AppendText("Texts");
richTextBox1.Refresh();
MessageBox.Show(Texts);
} }mssagebox 能正确地显示 Texts 的内容,而 richTextBox1 的内容还是空白啊。
public void ShowText(string Texts)
{
if (richTextBox1.InvokeRequired)
{
ShowTextDelegate d = new ShowTextDelegate(ShowText);
richTextBox1.Invoke(d, new object[] { Texts });
return;
} else
{
richTextBox1.AppendText("Texts");
richTextBox1.Refresh();
MessageBox.Show(Texts);
} }
试试这个