2013-02-25 53 views
1

我使用vs2012运行vb.net。我有各种CheckBoxesEnableDisableTextBoxes。我注意到,如果用户将光标放在TextBox(启用时),然后click,CheckBoxDisable,TextBox,TextBox显示为插入。只有在光标位于TextBox而用户单击CheckBoxDisableTextBox时才会发生此情况。当Enabled = false时,TextBox显示为inset;

我还注意到,如果我在TextBoxDisabled之前发出一个消息框,TextBox不会出现inset;我假设因为焦点已经改变。因此,在禁用TextBox之前,我尝试将焦点设置到另一个控件,但是,这不起作用。无论如何,我可以解决这个问题,以便当用户在框中放置光标时禁用它们时,我的TextBox不会显示为嵌入图案?

谢谢!

+1

哪个操作系统?我没有看到你使用VS2012在Windows 7 x64上描述的内容。你有没有尝试将TextBox的BorderStyle设置为BorderStyle.FixedSingle?在项目属性中,是否选中了“启用XP视觉样式”? – 2013-02-25 19:16:01

+0

我不知道如何设置这个答案,但如果我将边框样式设置为FixedSingle而不是Fixed3D,则不会出现该问题。我相信这是一个VS 2012的错误。感谢您的建议! – jamesdlivesinatree 2013-02-25 22:36:30

+0

我必须将它作为答案而不是评论发布,以便您可以将其设置为答案,所以我已经完成了该任务。 – 2013-02-26 09:39:58

回答

0

当您设置Textbox.enabled=False它会出现,但如果你将设置Textbox.Visible=False它不会出现

+0

enabled = false表示它是可见的,但你不能使用它 – 2013-02-25 18:53:21

+0

是的,我意识到这一点,但这不是问题。文本框的行为方式应该是这样的,问题是当用户在文本框内激活光标时(通过选中复选框)禁用文本框时,文本框将被禁用,但会显示为插入内容,与其他所有禁用内容不同文本框。 – jamesdlivesinatree 2013-02-25 19:10:33

+0

您正在使用Visual Basic 2012? 这可能是一个错误 – 2013-02-25 19:12:56

0

如果设置文本框的边框,以BorderStyle.FixedSingle那么你应该得到你要找的行为。

相关问题