方法一
将TextBox中的Enable属性设置为False
即可
TextBox1.Enable = False; //或者在属性窗口直接设置
这种方法存在一个缺点,就是如果你的TextBox是多行的,那么就不能滑动浏览了
方法二
我们可以考虑监听TextBox,一旦变成变为焦点,我们直接改到其他的控件,以上图为例,两个TextBox我分别命名为Txt_Info
和Txt_Sender
,双击编写TextBox的Enter
事件
private void Txt_Info_Enter(object sender, EventArgs e)
{
Txt_Sender.Focus(); //将焦点定位到其他控件
}
当然也可以在代码设计器中直接修改
this.Txt_Info.Enter += (s,e) => Txt_Sender.Focus();
方法三
使用API进行设置,进入MouseDown
事件
[DllImport("user32",EntryPoint = "HideCaret")]
private static extern bool HideCaret(IntPtr hWnd); //需引入命名空间using System.Runtime.InteropServices;
private void Txt_RecInfo_MouseDown(object sender, MouseEventArgs e)
{
HideCaret((sender as TextBox).Handle);
}