gpt4 book ai didi

c# - 从另一个线程写入 TextBox?

转载 作者:IT王子 更新时间:2023-10-29 03:45:18 26 4
gpt4 key购买 nike

<分区>

我不知道如何让 C# Windows 窗体应用程序从线程写入文本框。例如,在 Program.cs 中,我们有标准的 main() 来绘制表单:

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}

然后我们在 Form1.cs 中有:

public Form1()
{
InitializeComponent();

new Thread(SampleFunction).Start();
}

public static void SampleFunction()
{
while(true)
WindowsFormsApplication1.Form1.ActiveForm.Text += "hi. ";
}

我是不是完全错了?

更新

这里是 bendewey 提供的工作代码示例:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
new Thread(SampleFunction).Start();
}

public void AppendTextBox(string value)
{
if (InvokeRequired)
{
this.Invoke(new Action<string>(AppendTextBox), new object[] {value});
return;
}
textBox1.Text += value;
}

void SampleFunction()
{
// Gets executed on a seperate thread and
// doesn't block the UI while sleeping
for(int i = 0; i<5; i++)
{
AppendTextBox("hi. ");
Thread.Sleep(1000);
}
}
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com