tôi tìm thấy mã này:Việc sử dụng Invoke() trong .net là gì?
this.Invoke(new EventHandler(EventGetSum));
Đây có phải là không giống như viết:
EventGetSum();
việc sử dụng này là gì?
tôi tìm thấy mã này:Việc sử dụng Invoke() trong .net là gì?
this.Invoke(new EventHandler(EventGetSum));
Đây có phải là không giống như viết:
EventGetSum();
việc sử dụng này là gì?
Nếu bạn viết EventGetSum()
thì ngay lập tức gọi phương thức EventGetSum.
Nếu bạn viết new EventHandler(EventGetSum)
sẽ tạo một đại biểu mà (lần lượt) sẽ gọi EventGetSum khi được gọi.
Cuộc gọi đến Control.Invoke
gọi người được ủy quyền từ chuỗi giao diện người dùng chịu trách nhiệm kiểm soát. Điều này là cần thiết vì bạn không được truy cập các phần tử giao diện người dùng từ các chuỗi tùy ý.
Nó thực thi phương pháp EventGetSum
trong chuỗi để cửa sổ this
thuộc về.
Điều này thường được sử dụng khi xử lý các cuộc gọi giao diện người dùng theo chủ đề chéo.
Xem tài liệu MSDN cho ISynchronizeInvoke.
Đó là một tiêu đề khá xấu, có thể bạn nên xem xét việc thay đổi nó thành một cái gì đó mô tả hơn – grapefrukt
Kiểm tra câu hỏi này http://stackoverflow.com/questions/571706/shortest-way-to-write-a-thread-safe-access -method-to-a-windows-forms-control/571749 # 571749 – alex2k8