是这样,我在一个form中有多个textbox控件,我想实现,当焦点放在一个textbox控件时,点击全选按钮,就可以全选控件中的数据,但是怎么得到焦点所在控件,并全选控件中的数据呢?

解决方案 »

  1.   

    这样试试看:
    TextBox tb = this.ActiveControl as TextBox;
    if (tb != null)
    {
    tb.SelectAll();
    }
      

  2.   

    那如果是不只是有textbox控件呢,还有别的控件,比如richbox,那该怎么做呢
      

  3.   


    这个代码写在哪里呢?button1的Click事件中吗?如果是这样的话,这个代码是达不到目的的,因为你单击了之后,this.ActiveControl 始终是你单击的这个button1,而不是TextBox,不管你先前的焦点在哪.
      

  4.   

    呵呵,谢谢提醒,我是在ToolStripMenuItem中做的点击操作,问题解决了
    代码如下:
    switch (this.ActiveControl.GetType().Name)
                {
                    case "TextBox":
                TextBox tb = this.ActiveControl as TextBox;
                if (tb != null)
                {
                    tb.SelectAll();
                }
                        break;
                    case "RichTextBox":
                        RichTextBox Rtb = this.ActiveControl as RichTextBox;
                        if (Rtb != null)
                        {
                            Rtb.SelectAll();
                        }
                        break;
                 }
      

  5.   

    richbox就这样:RichTextBox1.SelStart = 0
    RichTextBox1.SelLength = Len(RichTextBox1.Text)
      

  6.   

    RichTextBox1.SelStart = 0
    RichTextBox1.SelLength = Len(RichTextBox1.Text)