一个TextBox,如何让鼠标点击的时候,在里面不能出现光标,但是可以选中复制里面的文本?

解决方案 »

  1.   

    调用Win API就能完成该功能。
    [DllImport("user32.dll", EntryPoint = "HideCaret")]
    public static extern bool HideCaret(IntPtr hWnd);
    可以在MouseDown和GotFocus的地方调用该函数。
    ///   <summary>   
      ///   显示和隐藏鼠标指针.   
      ///   </summary>   
      ///   <example>   
      ///   <p>//     在应用程序中显示鼠标指针:</p>   
      ///   <p>CApi.ShowCursor(1);</p>   
      ///   <p></p>   
      ///   <p>//     在应用程序中隐藏鼠标指针:</p>   
      ///   <p>CApi.ShowCursor(0);</p>   
      ///   </example>   
      [DllImport("user32.dll",   EntryPoint="ShowCursor",   CharSet=CharSet.Auto)]   
      public     static   extern   int     ShowCursor(int     bShow);     
      

  2.   

    B00L HideCaret(HWND hWnd);
    click or获得焦点事件中隐藏光标
      

  3.   

    TextBox的OnClick事件里面写textBox1.SelectAll();
      

  4.   

    readonly=true; 这个好像还可以
      

  5.   

    我说的是TextBox不接受光标
    换成Label也不行,不能复制文本
      

  6.   


    绝对可以。传的参数的textBox的Handle。
      

  7.   


    我来做个苦力:        [DllImport("user32.dll")]
            static extern bool HideCaret(IntPtr hWnd);
            private void textBox1_MouseDown(object sender, MouseEventArgs e)
            {
                HideCaret(textBox1.Handle);
            }