Tôi có bộ đếm thời gian được đặt trong 10 giây tại một trong các hình thức cửa sổ của tôi. Và đối với OnTimedEvent, tôi đặt cho biểu mẫu được xử lý sau thời gian đã hết. Tuy nhiên, có vẻ như có lỗi củaLỗi Cross Thread xử lý biểu mẫu với Timer
InvalidOperationException bị unhandled bởi mã người dùng.
Hoạt động trên luồng không hợp lệ: Kiểm soát 'thông báo' Truy cập 'được truy cập từ một chuỗi khác với chuỗi được tạo trên đó.
Các lỗi được trên dòng
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
mã cho sự kiện timer của tôi là
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
this.Dispose();
}
Bất cứ ai cũng biết làm thế nào để sửa lỗi này? cảm ơn!
hi. cảm ơn bạn đã trả lời. chỉ cần biết, sự khác biệt giữa system.windows.form.timer so với bộ đếm thời gian bình thường là gì? – Thomas
Timers.Timer là bộ đếm thời gian dựa trên máy chủ, đó là lý do tại sao nó nằm trên một chuỗi khác với biểu mẫu của bạn. Bộ đếm thời gian của windows chạy trên cùng một luồng với GUI - đó là lý do tại sao cho một ứng dụng winforms, nó thường là bộ đếm thời gian thích hợp hơn để sử dụng. Bộ đếm thời gian trong ToolBox là Forms.Timer. – LarsTech