我對編程非常陌生,我認爲迄今爲止我的學習已經足夠好了,但我仍然無法理解按照我想要的方式進行延遲的想法。我正在使用的是一種使用涉及戰鬥系統的Windows窗體應用程序的測試「遊戲」。其中,我想讓NPC每隔幾秒做一次動作。問題是,我也想讓玩家在各種攻擊之間進行互動。真正的Thread.sleep似乎並沒有爲我工作,不僅是因爲我不知道該如何多線程,但每當我嘗試運行它,比方說,像這樣的:如何在不使用睡眠的情況下在C#中執行短暫延遲?
textBox1.Text += "\r\nThread Sleeps!";
System.Threading.Thread.Sleep(4000);
textBox1.Text += "\r\nThread awakens!";
這似乎堅持睡覺首先,然後打印兩條線。
我認爲這就是我現在可以說的,但如果這仍然太模糊或羅嗦,隨時告訴我。
總之,在C#中,我希望在運行之前做一些延遲,但同時仍然允許用戶交互。
可以使用定時器來代替,而火了在你的間隔... – Rohit
該線程也負責打印你的用戶界面,但由於你使用'睡眠'來阻止它,它不能更新顯示你的第一行的用戶界面。 – user2674389
使用Task.Delay而不是睡眠。那麼你將不會有任何阻止用戶界面的問題。這個新功能可以在.Net 4.5中找到。 – Ohlin