一个C#中Textbox输出的简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 03:50:21
private void button2_Click(object sender, EventArgs e)
{
//代码区a
textbox1.Text="实时输出"; //第888行
//代码区b
}

我想要实现的功能是:当代码执行到第888行的时候,在textBox1控件中实时显示输出的信息“实时输出”,但时在C#中,需要button2_Click事件中的所有代码执行完了后,才能在textBox1中显示输出信息。

汗。。。这个问题我搞了一个晚上,仍然找不到解决办法,在此求教了!

理论上说这是不可能的.
不信你可以在textbox1.Text="实时输出"; 下面加一行:
MessageBox.Show("Pause");
当代码执行到这里的时候不会继续执行下面的也就是你的“代码区b”,你可以看一看TextBox的Text变了没有。

用线程吧
要是不会的话给我发信息

说说你要干什么?
理论上你的要求是不可能的,就是实现也只是在屏幕上出现以下就被后面的程序改写掉了,如果假设你要是想进行日志输出,你可以将textbox设置为多行,并这样写
textbox1.Text=textbox1.Text+"实时输出"+"\n";

这个问题不难啊,你只要在
private void button2_Click(object sender, EventArgs e)
{
//代码区a
textbox1.Text="实时输出"; //第888行
return;
//代码区b
}

如果你只是为了调试.何不用控制台输出指令?

Console.WriteLine

ozyang 的回答是正确的。
问题在于你写这个事件代码里,是否要到这个888行终止。如果不是,加return;就不好。

你首先要搞明白NET运行机制。你执行到888号的时候,只是设置了这个textbox1控件的属性,并没有要求马上返回你现在的程序结果。所以它当然要一直执行下去,直到完,或者直到遇到return命令,或者别的终止命令才会停止。