在一个窗体中有两个TextBox(TextBox1和TextBox2),我要在按下快捷健F1的时候向两个TextBox中输入数据,初始焦点在TextBox1,用的是这种方式:
SendKeys.Send("abc");
SendKeys.Send("{TAB}");
SendKeys.Send("def");
当不改变数据焦点的时候,能完成正常的功能,可是当在按下F1之前把光标移到了TextBox2后整个数据的数据就反了,我想让在按下F1之前就算点了TextBox2也能正常的输入想要的数据,请问要怎么做啊?
请各位高手指点一下
环境是Winform,.net2003

解决方案 »

  1.   

    this.TextBox1.Focus();
    SendKeys.Send("abc");
    SendKeys.Send("{TAB}");
    SendKeys.Send("def");
      

  2.   

    this.textBox1.Focus();
    SendKeys.Send("abc");
    this.textBox2.Focus();
    SendKeys.Send("def");还有,你直接设置Text属性不行吗,为什么要SendKeys啊
      

  3.   

    哦,对了,还忘了一个问题,我的TextBox1,TextBox2只是假设的,实际的TextBox的ID并不知道
      

  4.   

    大家帮忙解决一下这个问题吧,谢谢了.................
    http://community.csdn.net/Expert/topic/5581/5581312.xml?temp=.6539881
      

  5.   

    我要把abc填到第一个中,把def填到第二个中,一二只是相对的,不是TextBox的ID ,TextBox的ID是未知的,这样说不知道清楚没有
      

  6.   

    1.定好规矩
    2.循环form内的controls判断是否是合适的控件,如果是control.Text = "规定的值"
      

  7.   

    void button1_Click(object sender, EventArgs e)
            {
                string[] val ={ "abc", "def", "ghi" };
                int i = 0;
                while (true)
                {
                    foreach (Control c in this.Controls)
                    {
                        if (c.GetType().Name.Equals("TextBox") && c.TabIndex == i)
                        {
                            c.Text = val[i];
                            i++;
                        }
                        if (i == val.Length)
                        {
                            return;
                        }
                    }
                }
            }