Xem xét rằng Start/Stop
chuyển đổi thuộc tính IsEnabled
, giả định của bạn là gần.
Start/Stop
khác với số Interval
được đặt lại, khi chỉ bật/tắt IsEnabled
sẽ không đặt lại Interval
.
Từ MSDN:
Thiết IsEnabled false khi hẹn giờ được bắt đầu dừng bộ đếm thời gian.
Đặt IsEnabled thành true khi bộ hẹn giờ ngừng hoạt động bắt đầu hẹn giờ.
Bộ bắt đầu IsEnabled là true.
Bắt đầu đặt lại hẹn giờ Khoảng thời gian.
EDIT: Ý tôi là do khoảng thời gian được đặt lại không phải là thuộc tính Interval, mà khoảng thời gian nền xác định khoảng thời gian cho đến khi sự kiện đánh dấu tiếp theo được kích hoạt.
Ví dụ: Nếu bạn có một khoảng thời gian 1000ms và bạn dừng/vô hiệu hóa nó nếu với 250ms để chạy (nó chạy cho 750ms), đây là kết quả tùy thuộc vào cách bạn khởi động lại nó.
- Nếu bạn bắt đầu nó với
Start()
, sau đó khoảng thông qua sẽ được reset về 0 và nó sẽ được 1000ms trước khi sự kiện Tick
được nâng lên.
- Nếu bạn bật lại với
IsEnabled = true
thì nó sẽ tiếp tục từ vị trí hiện tại của nó và sự kiện Tick
sẽ được tăng lên trong 250ms.
Tôi hy vọng điều này sẽ làm rõ điều đó cho bạn.
Nguồn
2010-07-02 05:00:00
gì sẽ xảy ra với Interval nếu nó được reseted? Tại thời điểm này, tôi nghĩ khi gọi Start/Stop, giá trị Interval (int) không thay đổi. –
Không phải giá trị khoảng thời gian, mà là khoảng thời gian nền. Tôi đã cập nhật câu trả lời của mình để trả lời câu hỏi này. –
Cảm ơn! Nó khá rõ ràng ngay bây giờ ngoại trừ những gì xảy ra khi chúng ta gọi Stop()? Khoảng thời gian nền có được phục hồi không? –