[英]Infinite while/for loop without hanging in visual studio/C#
我想要實現的是在我的 GUI/visual C# 中無限循環我的代碼,因為我正在通過 USB 電纜讀取信息。
我已成功閱讀代碼,但每次單擊按鈕時它只顯示一個讀數。 我明白如果我想讓我的代碼無限運行,我需要循環它。
我嘗試了下面的代碼,但我的程序仍然掛起
while(true)
{
//loop
System.Threading.Thread.Sleep(10000);
}
我找到了這篇文章並想嘗試計時器方法,但是我不知道將這段代碼放在哪里。
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
timer1.Interval=60000;//one minute
timer1.Tick += new System.EventHandler(timer1_Tick);
timer1.Start();
我正在使用 Microsoft Visual Studio 2010,誰能指導我使用此代碼?
請忘記在你的程序中創建這樣的循環,這些循環會殺死實際運行你的 UI 的 UI 線程,結果總是很糟糕!
您可以運行該計時器,您的代碼缺少 timer1_Tick 的實現,在該函數中,運行您想要的代碼。 在上面的當前配置中,此計時器將每一分鍾運行一次並執行 timer1_Tick 中的任何內容。 這是一個很好的例子。
另一種選擇是創建一個線程來完成讀取 USB 的工作,而讓 UI 線程單獨存在。 我認為這是一個更難實現的選項,所以使用計時器選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.