Tôi không thể tìm ra cách làm cho ứng dụng Biểu mẫu C# Windows ghi vào một hộp văn bản từ một chuỗi. Ví dụ trong Program.cs chúng tôi có tiêu chuẩn main() mà rút ra các hình thức:Viết cho một TextBox từ một chủ đề khác?
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Sau đó, chúng tôi có trong Form1.cs:
public Form1()
{
InitializeComponent();
new Thread(SampleFunction).Start();
}
public static void SampleFunction()
{
while(true)
WindowsFormsApplication1.Form1.ActiveForm.Text += "hi. ";
}
Tôi đi về việc này hoàn toàn sai?
CẬP NHẬT
Đây là mẫu mã làm việc được cung cấp từ 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);
}
}
}
tôi đã cố gắng mã của bạn, và nó không hoàn toàn làm việc cho tôi. Tôi đánh giá cao người bạn đời trả lời. –
Cụ thể hơn, nó biên dịch, nhưng TextBox không liên tục được ghi vào. –
Bạn có thể đăng mã bạn đang thử không? – bendewey