我正在尝试在主窗体上的TextBox
中写一些Text(我在另一个帖子上阅读)。
我在这方面遇到了一些麻烦。
我尝试使用get / set txtBox.Text
但是没有工作。
这是我的主要代码:
public partial class Form1 : Form
{
private Worker w;
public volatile bool running = true;
public string KBox
{
get { return txtK.Text; }
set { txtK.Text = value; }
}
private void Form1_Load(object sender, EventArgs e)
{
KBox = "TEST"; // It works
w = new Worker();
Thread kThread = new Thread(w.readLogs);
kThread.Start(0);
trdList.Add(kThread);
}
}
这里是主题:
public class Worker : Form1
{
public Worker(){ }
public void stopProcess()
{
running = false;
}
public void readLogs(object type)
{
string filename;
while (running)
{
this.SetText((int)type, running.ToString());
Thread.Sleep(10);
}
Thread.Sleep(50);
}
private void SetText(int type, string txt)
{
switch (type)
{
case 0:
KBox += Environment.NewLine + txt;
break;
}
}
在调试中查看KBox
我看到它接受了值,所以我认为线程设置正确,但TextBox
有问题。
我认为这应该与Volatile
类似,但volatile不适用于get / set。
问题是TextBox
仍为空白。