Vb.net 文本框在启用时显示为插入=false;

Vb.net 文本框在启用时显示为插入=false;,vb.net,textbox,Vb.net,Textbox,我正在用vs2012运行vb.net。我有各种复选框,用于启用和禁用文本框。我注意到,如果用户将光标放在文本框(启用时),然后单击复选框以禁用文本框,则文本框将显示为插入。只有当光标位于文本框中,而用户单击复选框以禁用文本框时,才会发生这种情况 我还注意到,如果我在文本框被禁用之前抛出一个消息框,则文本框不会显示为插入状态;我想是因为焦点已经改变了。因此,在禁用文本框之前,我尝试将焦点设置为另一个控件,但是,这不起作用。我是否可以绕过这个问题,这样当用户在框中放置光标时,我的TextBox不会显

我正在用vs2012运行vb.net。我有各种
复选框
,用于
启用
禁用
文本框
。我注意到,如果用户将光标放在
文本框
(启用时),然后
单击
复选框
禁用
文本框
,则
文本框
将显示为插入。只有当光标位于
文本框
中,而用户单击
复选框
禁用
文本框
时,才会发生这种情况

我还注意到,如果我在
文本框
被禁用之前抛出一个消息框,则
文本框
不会显示为插入状态;我想是因为焦点已经改变了。因此,在禁用
文本框之前,我尝试将焦点设置为另一个控件,但是,这不起作用。我是否可以绕过这个问题,这样当用户在框中放置光标时,我的
TextBox
不会显示为插入状态


谢谢

当您设置
Textbox.enabled=False
时,它会出现,但如果您设置
Textbox.Visible=False
则它不会出现。如果您将文本框的BorderStyle设置为
BorderStyle.fixedsSingle
则您应该会得到您正在寻找的行为。

enabled=False意味着它是可见的,但您不能使用它。是的,我知道但是这,这不是问题。文本框的行为与预期的一样,问题是当用户禁用文本框,而光标在文本框内处于活动状态时(通过选中复选框),文本框被禁用,但显示为插入,与所有其他禁用的文本框不同。您使用的是Visual Basic 2012吗?这可能是一个错误答案在上面,我已经将边框设置为FixedSingle而不是Fixed3d,问题没有出现。我相信这是一个VS2012错误。为了记录在案,如果你想复制这个。创建一个带有文本框和复选框的windows窗体项目,使复选框根据选中值启用和禁用文本框。将光标放在启用的文本框中,选中复选框以禁用文本框,您将看到我的意思。哪个操作系统?我看不到您在使用VS2012的Windows 7 x64上描述的内容。您是否尝试将文本框的BorderStyle设置为BorderStyle.FixedSingle?在项目属性中,是否选中了“启用XP视觉样式”?我不确定如何将其设置为答案,但如果我将边框样式设置为FixedSingle而不是Fixed3D,则不会出现问题。我相信这是VS 2012的错误。谢谢你的建议!我必须把它作为一个答案而不是一个评论,这样你就可以把它设置为答案,所以我做到了。