Sử dụng C# 2.0 và ủy nhiệm MethodInvoker, tôi có một ứng dụng GUI nhận một số sự kiện từ luồng GUI hoặc từ một chuỗi công nhân.Sử dụng C# MethodInvoker.Invoke() cho ứng dụng GUI ... có tốt không?
tôi sử dụng mô hình sau đây để xử lý sự kiện trong các hình thức:
private void SomeEventHandler(object sender, EventArgs e)
{
MethodInvoker method = delegate
{
uiSomeTextBox.Text = "some text";
};
if (InvokeRequired)
BeginInvoke(method);
else
method.Invoke();
}
Bằng cách sử dụng mô hình này tôi không lặp lại mã UI thực tế nhưng những gì tôi không chắc chắn về là nếu phương pháp này là tốt .
Đặc biệt, dòng
method.Invoke()
nó sử dụng thread khác cho cách gọi hay nó dịch hơi một cuộc gọi trực tiếp tới các phương pháp trên thread GUI?
Cảm ơn! Tôi đã bị mắc kẹt trên bằng cách sử dụng method.Invoke và thậm chí Invoke ((MethodInvoker) Quay trở lại BeginInvoke đã làm các trick –