none
在textbox輸入文字後自動跳至下個textbox RRS feed

  • 問題

  • 不好意思 我是初學者

    或許這個問題很淺不過還是困擾我許久

    我將做到的效果就例如你在安裝程式要輸入序號的時候

    例如textbox只能輸入3個字元,輸入三個字元之後

    會自動跳到下個textbox

    請各位高手指教了

    感謝

    2006年3月31日 上午 02:47

解答

  • 這個要用焦點移轉 (Windows Form) 的方法 .

    假設有 TextBox1 和 TextBox2.

    你要在 TextBox1 的 TextChanged 事件中,偵測 TextBox1 的字元有沒有已到指定個數(用 TextBox1.Text.Length),若有的話,使用 TextBox2.Focus() 來轉移輸入焦點 .

    2006年3月31日 上午 03:33
    版主
  • 您好:

    小小補充一下,可以在TextBox1上設定最大的字元長度:

       //
       // textBox1
       //
       this.textBox1.Location = new System.Drawing.Point(0, 72);
       this.textBox1.MaxLength = 5;
       this.textBox1.Name = "textBox1";
       this.textBox1.TabIndex = 0;
       this.textBox1.Text = "";
       this.textBox1.TextChanged += new System.EventHandler(this.identify);

    然後在TextChange的事件中加入這樣的判斷

     

       if(textBox1.Text.Length == textBox1.MaxLength)
       {
        textBox2.Focus();
       }

    這樣就OK了

    2006年3月31日 上午 04:04

所有回覆

  • 這個要用焦點移轉 (Windows Form) 的方法 .

    假設有 TextBox1 和 TextBox2.

    你要在 TextBox1 的 TextChanged 事件中,偵測 TextBox1 的字元有沒有已到指定個數(用 TextBox1.Text.Length),若有的話,使用 TextBox2.Focus() 來轉移輸入焦點 .

    2006年3月31日 上午 03:33
    版主
  • 您好:

    小小補充一下,可以在TextBox1上設定最大的字元長度:

       //
       // textBox1
       //
       this.textBox1.Location = new System.Drawing.Point(0, 72);
       this.textBox1.MaxLength = 5;
       this.textBox1.Name = "textBox1";
       this.textBox1.TabIndex = 0;
       this.textBox1.Text = "";
       this.textBox1.TextChanged += new System.EventHandler(this.identify);

    然後在TextChange的事件中加入這樣的判斷

     

       if(textBox1.Text.Length == textBox1.MaxLength)
       {
        textBox2.Focus();
       }

    這樣就OK了

    2006年3月31日 上午 04:04
  • 非常感謝大家
    2006年4月1日 上午 01:40