C#을 처음 접한다면 나와 함께 맨손으로. 다른 클래스를 실행하는 새 스레드에서 주 스레드의 텍스트 상자 및 레이블을 업데이트하는 방법주 스레드의 텍스트 상자를 다른 스레드에서 업데이트하는 방법은 무엇입니까?
MainForm.cs (메인 스레드)
public partial class MainForm : Form
{
public MainForm()
{
Test t = new Test();
Thread testThread = new Thread(new ThreadStart(t.HelloWorld));
testThread.IsBackground = true;
testThread.Start();
}
private void UpdateTextBox(string text)
{
textBox1.AppendText(text + "\r\n");
}
}
public class Test
{
public void HelloWorld()
{
MainForm.UpdateTextBox("Hello World");
// How do I execute this on the main thread ???
}
}
내가 여기에있는 예제를 보았다하지만 캔트 바로 그것을 얻을 것으로 보인다. 누군가 좋은 링크를 줄 수 있습니까?
나는 코드를 엉망으로 만들지 않으므로 다시 시작했습니다. 누구든지 위대한 일이 될만한 모범을 보여주고 싶다면.
또한 텍스트 상자 및 레이블 등 (동시에 모두는 아님)과 같은 여러 개체를 업데이트해야하는 경우 각 텍스트 상자에 대해 메서드를 사용하는 것이 가장 좋은 방법 일 것이거나이를 수행 할 수있는 방법이 있습니다. 하나의 방법으로? 내가 새로운 사람이라고 말했듯이 천천히 말하십시오.
환영을 사용하는 것입니다 : 당신은 람다 표현식에 읽을 수있는과 함께 편안하고 좋아합니까
그래서. 질문을 편집하여 추가 정보를 추가 할 수 있으며 질문 한 사항에 대한 답변 (그리고 50 명을 기록한 후에는 아무 것도)을 남길 수 있습니다. – Will