我用下面的事件怎么没反应呢??
private void textBox1_Enter(object sender, EventArgs e)
{
      textBox1.SelectionStart = 0;
      textBox1.SelectionLength = textBox1.Text.Length;
}
各位帮帮忙

解决方案 »

  1.   

    private void textBox1_Enter(object sender, EventArgs e)
            {
                this.textBox1.HideSelection = false; 
                textBox1.SelectionStart = 0;
                textBox1.SelectionLength = textBox1.Text.Length;        }
      

  2.   

    在 MouseUp事件中写 
    this.textbox1.SelectAll();
      

  3.   

    用Tab按键切换焦点默认就是自动选中的
    而鼠标点击就不会,因为自动选中后鼠标按下又会改变选中的位置
    7楼说的方法KeyUp中处理是可行的,放到KeyDown效果会更好
    这里有个问题,如果用户想通过鼠标点击改变选中的位置就无效了,因为每次点击都会切换焦点
    所以得有个标志判断一下,是否是焦点切换的第一次点击
    如果点击的时间和焦点的时间相差50毫秒以内则认为是第一次点击
    参考如下代码:
    long mouseEnterTick = 0;
    private void textBox1_MouseDown(object sender, MouseEventArgs e)
    {
        if (Environment.TickCount - mouseEnterTick < 50)
            ((TextBox)sender).SelectAll();
    }private void textBox1_Enter(object sender, EventArgs e)
    {
        mouseEnterTick = Environment.TickCount;
        ((TextBox)sender).SelectAll();
    }
      

  4.   

    有些笔误---因为每次点击都会全选
    下面的((TextBox)sender).SelectAll();是测试用的,可以删除掉private void textBox1_Enter(object sender, EventArgs e)
    {
        mouseEnterTick = Environment.TickCount;
    }
      

  5.   

    加了 this.textBox1.HideSelection = false;  
    后我这边是可以的啊
      

  6.   

    to ETstudio,
      HideSelection属性表示在失去焦点的时候是否隐藏选中的蓝框
      这个属性控制的是显示状态,并不会影响全选
      楼主的问题是处理“获得焦点”的情况,不是“失去焦点”的情况,是处理“选中”而不是处理“显示”。
      呵呵,楼主貌似失踪了...