2013-02-25 2 views
1

Я запускаю vb.net с vs2012. У меня есть различные CheckBoxes, что Enable и DisableTextBoxes. Я заметил, что если пользователь имеет свой курсор в TextBox (когда включен), а затем clickCheckBox - DisableTextBox, то отображается TextBox. Это происходит только тогда, когда курсор находится в TextBox, пока пользователь нажимает CheckBox на DisableTextBox.TextBox появляется, когда Enabled = false;

Я также заметил, что если я вышвырнул окно сообщения прямо перед TextBox, то Disabled, TextBox НЕ появляется вставка; Я предполагаю, что фокус изменился. Из-за этого я попытался установить фокус на другой элемент управления, прежде чем отключить TextBox, однако это не сработает. В любом случае, я могу обойти это так, чтобы мои TextBox не отображались вставки, когда пользователь отключает их, указав курсор в поле?

Спасибо!

+1

Какая операционная система? Я не вижу, что вы описываете в Windows 7 x64, используя VS2012. Вы пытались установить BorderStyle для TextBox в BorderStyle.FixedSingle? В свойствах проекта у вас есть флажок «Включить визуальные стили XP»? –

+0

Я не уверен, как установить это как ответ, но если я установил стиль границы в FixedSingle вместо Fixed3D, проблема не появится. Я считаю, что это ошибка VS 2012. Спасибо за совет! – jamesdlivesinatree

+0

Я должен опубликовать его как ответ вместо комментария, чтобы вы могли установить его как ответ, поэтому я это сделал. –

ответ

0

При установке Textbox.enabled=False он появится, но если вы установите Textbox.Visible=False это обыкновение появляться

+0

enabled = false означает, что он виден, но вы не можете его использовать –

+0

да, я знаю об этом, но это не проблема. текстовое поле ведет себя так, как предполагается, проблема заключается в том, что когда пользователь отключает текстовое поле, когда курсор активен внутри текстового поля (путем установки флажка), текстовое поле отключается, но появляется вставка и отличается от всех остальных отключенных Textboxes. – jamesdlivesinatree

+0

Вы используете Visual Basic 2012? Это может быть ошибка –

0

Если установить BorderStyle текстового поля, чтобы BorderStyle.FixedSingle то вы должны получить поведение, которое вы ищете.

Смежные вопросы