winform中的TextBox如何去掉闪烁的光标

方法一

将TextBox中的Enable属性设置为False即可

TextBox1.Enable = False;	//或者在属性窗口直接设置

这种方法存在一个缺点,就是如果你的TextBox是多行的,那么就不能滑动浏览了
在这里插入图片描述

方法二

我们可以考虑监听TextBox,一旦变成变为焦点,我们直接改到其他的控件,以上图为例,两个TextBox我分别命名为Txt_InfoTxt_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);
}
发布了62 篇原创文章 · 获赞 68 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/ZUFE_ZXh/article/details/103856913