none
await Task.Delay() 請教; RRS feed

  • 問題

  • public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { T1.ON(3000);

    TextBox1.Text = " 123 " ; } }

    class T1 {

    public Static async void ON(int X)

            {

    await Task.Delay(X);
             }

    }


    我是想另外建立一個class來完成這件事情

    我想做的功能是 Button按下 > 呼叫class內的method延遲3秒 > TextBox顯示值

    但這樣好像是行不通的

    求前輩指點 感謝


    2019年6月8日 下午 12:19

解答

  • 因為你的 ON method 沒法被等待,所以就會直接溜過去。

    應該改成這樣 (1) ON 回傳 Task

        {        
    
               public static async Task  ON(int X)
    
                {
    
                  await Task.Delay(X);
                }
    
        }
    

    (2) button1_Ckick 要是 async,裡面要  await ON ...

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            async private void button1_Click(object sender, EventArgs e)
            {
                
               await  T1.ON(3000);
    
                TextBox1.Text = " 123 " ;
               
            }
        }
    


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/


    2019年6月8日 下午 12:39
    版主

所有回覆

  • 因為你的 ON method 沒法被等待,所以就會直接溜過去。

    應該改成這樣 (1) ON 回傳 Task

        {        
    
               public static async Task  ON(int X)
    
                {
    
                  await Task.Delay(X);
                }
    
        }
    

    (2) button1_Ckick 要是 async,裡面要  await ON ...

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            async private void button1_Click(object sender, EventArgs e)
            {
                
               await  T1.ON(3000);
    
                TextBox1.Text = " 123 " ;
               
            }
        }
    


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/


    2019年6月8日 下午 12:39
    版主
  • B大....謝謝你的回覆

    問到我自己都不太好意思了..


    2019年6月8日 下午 01:08