الحصول على نظام-على مدار الساعة-تغيير علامة في C#
سؤال
هو وسيلة لتنفيذ delegate
أو event
في C# عندما ثواني, دقائق, ساعات,...تغيير في النظام-على مدار الساعة ، دون استخدام الموقت الذي يتحقق في كل جزء من الثانية إذا كان العقار قد تغير وينفذ هذا الحدث مع تأخير الحد الأقصى جزء من الألف من الثانية.
ولذلك ترغب في تجنب الاقتراع و إطلاق حدث في وقت معين.
المحلول
إذا كان سؤالك هو: "كيف يمكنني تنفيذ تفويض كل ثانية كاملة/دقيقة/ساعة؟"
لمدة دقيقة و ساعة فترات, هل يمكن أن تفعل شيئا مثل هو مبين في الجواب في هذا السؤال:
وهذا ينبغي أن تكون دقيقة إلى حد ما ، ولكن لن تكون دقيقة إلى ميلي ثانية واحدة.
الثاني فترات كنت أذهب مع الموقت بسيط 1-الثانية-الفاصل الزمني.من منظور المستخدم أعتقد ليس هناك الكثير من الفرق إذا كان هذا العمل ينفذ في xx:xx:xx.000 أو في xx:xx:xx.350.
نصائح أخرى
يمكنك الاشتراك في SystemEvents.TimeChanged أ >. هذا حرائق عندما يتم تبديل ساعة النظام.
وأنا تحل هذه في التطبيق الأشكال عن طريق تعيين الفاصل الزمني إلى (1000 - DateTime.Now.Millisecond)
_timer1 = new System.Windows.Forms.Timer();
_timer1.Interval = (1000 - DateTime.Now.Millisecond);
_timer1.Enabled = true;
_timer1.Tick += new EventHandler(updateDisplayedTime);
ووفي معالج الأحداث إعادة تعيين الفاصل الزمني لمنع الانجراف.
<handle event>
_timer1.Interval = (1000 - DateTime.Now.Millisecond);