2015-07-18 2 views
0

У меня есть tablelayoutpanel, который содержит много элементов управления. Я хочу заблокировать этот tablelayoutpanel, но я могу скопировать данные в полях. Tablelayoutpanel имеет только свойство ENABLED -> Я не могу копировать данные в них. Пожалуйста, помогите мне заблокировать tablelayoutpanel и можете скопировать в этих полях.Winform Set readonly для tablelayoutpanel C#

+0

Что вы имеете в виду, заблокируйте TableLayoutPanel? Если вы все еще хотите иметь возможность взаимодействовать с элементами управления внутри него, то что вы пытаетесь сделать, заблокировав его (предполагая, что существует такая функция)? –

+0

LOCK означает, что пользователь не может редактировать, но они могут копировать данные –

+0

Какие поля? Все ли они TextBox? –

ответ

1

В TableLayoutPanel ничего нет, что позволяет использовать эту функцию.

Вместо перебрать все элементы управления, обратите внимание на тип, и установить свойство вам нужно:

foreach (var control in tableLayoutPanel1.Controls.Cast<Control>()) 
{ 
    var tb = control as TextBoxBase; 

    if (tb != null) 
     tb.ReadOnly = true;  // controls like TextBox and RichTextBox 
    else 
     control.Enabled = false; // all other controls 
} 
+0

все, что мне нужно здесь. Большое спасибо –

+0

Добро пожаловать @ Nhân. –

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