2013-12-03 1 views
1

Я хочу включить свойство только для чтения всех текстовых полей на панели в формах окон в true при загрузке формы, но не за работой. Я использую приведенный ниже код. Когда я отлаживаю код, он пропускает эту часть. Непонятно почему? Данный код не работает, он пропускает эту часть, как если бы в панели не было элементов управления текстовыми полями.не удалось установить свойство readonly текстовых полей в панели в форме окна на true в vb.net

Private Sub lockgroupcontrols() 
    For Each TextBox As TextBox In Pnltransaction.Controls.OfType(Of TextBox)() 

     TextBox.ReadOnly = True 
    Next 
End Sub 

ответ

1

Ваш код кажется правильным, так, я могу только предположить, что, если он пропускает For Each, то у вас нет каких-либо текстовых полей внутри PnlTransaction панели.

Иногда это случается, когда вы нарисовываете панель над существующими текстовыми полями. Вы считаете, что элементы управления находятся внутри панели, но на самом деле они находятся под панелью, и вы видите их, потому что фон панели прозрачен.

Попробуйте переместить панель в другое место, перетащите &, поместите текстовые поля над панелью, а затем переместите панель.

+0

совершенный steve. я собирался ответить на мой собственный вопрос. Когда я проверил it.the элементы управления, где не в панели. thanks.i нарисовал его поверх существующих элементов управления. –

+0

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

0

Вы не должны использовать TextBox в качестве имени для Варса

For Each **TextBox** As **TextBox** In 

попробовать его для экс.

...For Each **tBox** As **TextBox** In 
     tBox.ReadOnly = True.... 
Смежные вопросы