2014-12-03 69 views
0
private void textBox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
      textBox2.Focus(); 
    } 

    private void textBox2_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
      CursorTest(); 

    } 

    private void button4_Click(object sender, EventArgs e) 
    { 
     CursorTest(); 
    } 


    private void CursorTest() 
    { 
     Cursor.Current = Cursors.WaitCursor; 

     for (int i = 0; i < 100; i++) 
      System.Diagnostics.Debug.WriteLine(i.ToString()); 

     Cursor.Current = Cursors.Default; 

    } 

的情况下1:我点击将Button4, - CursorTest()显示waitcursorTextBox类netCF中Click和Focus()有什么区别?

案例2:我输入 'ENTER' 键上textBox1的,并再次将焦点移动到TextBox2中

,并输入 'ENTER' 键上TextBox2中 - CursorText()不会出现waitcursor。案例3:我只需点击textBox2并输入'ENTER' - CursorText()出现waitcursor。

如何在所有情况下显示Wait-Cursor? Click和Focus()有什么区别?

+0

您的程序调用CursorTest函数吗?你也必须考虑你的For-loop。 100个loopruns的WaitCursor在标准机器上少于1毫秒。 – Horius 2014-12-03 08:47:46

+0

是的。我的程序调用'CursorTest()'和'CursorTest()'花了约5秒。 CursorTest只是简单的测试功能。真正的功能是花费更多的时间。 – kwonv2 2014-12-04 00:03:09

回答

0

检查TextBox.TextChanged事件并从那里调用CursorTest()。那可行。

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     CursorTest(); 
    }