2014-10-08 23 views
2

Мне нужно выполнить итерацию на tableLayoutPanel и для каждой метки, где число столбцов равно 3 Мне нужно очистить текст.метка foreach в определенном столбце, C#

Я пробовал это, но это не сработало. Могу ли я что-нибудь сделать?

foreach(Control c in this.TableLayoutPanel1.Controls) 
{ 
    if(c is Label) 
    { 
     if(c.column==3) 
      c.Text ="-"; 
    } 
} 
+0

Это будет работать, только что вам нужно каста гр на этикетку, прежде чем получить/установить его свойство текста. – Vishal

+0

@VishalSachdeva Это неверно. Свойство «Text» определено в базовом классе 'Control', поэтому OP может установить« Text »без кастинга' c' на «Label». –

+0

@ VishalSachdeva c dosent есть колонка свойств .. – user2922456

ответ

4

Вы должны использовать GetColumn метод TableLayoutPanel

if (TableLayoutPanel1.GetColumn(c)== 3) 
    c.Text = "-";