Как получить доступ к элементу управления в элементе управления таблицей

У меня есть объект Class(Conatiner) в ячейке tablelayoutpanel. Я хочу получить доступ к этому текстовому полю в этом конкретном поле. Как я могу принять значения по нажатию кнопки?

Я хочу получить доступ к 1 2 3 с помощью Channel и значений X и Y. Но я не знаю количество объектов в таблице LayoutPanel

Вот код, который я написал до сих пор

private void masterTab1_SaveButton_Click(object sender, EventArgs e)
{

   var colWidths = this.MatrixPanel.GetColumnWidths();
   var rowHeights = this.MatrixPanel.GetRowHeights();
   int col = -1, row = -1;
   int offset = 0;
   for (int iRow = 0; iRow < this.MatrixPanel.RowCount; ++iRow)
   {
       offset += rowHeights[iRow];
       row = iRow;
       for (int iCol = 0; iCol < this.MatrixPanel.ColumnCount; ++iCol)
       {
           offset += colWidths[iCol];
           col = iCol;

           var myCellControl = MatrixPanel.GetControlFromPosition(col, row);
           if (myCellControl is Container)
           {
              Adapter.insertposition(RackID, row, col, //Want the Channel Value  , "Ready");
           }
       }
   }
}

1 ответ

Решение

Если ваш класс "Контейнер" правильно настроен / имеет все свойства или элементы управления, необходимые для получения нужной вам информации, то я считаю, что вы ищете следующее:

if (myCellControl is Container)
{
   Container tmp = myCellControl as Container;
   //after this point, you can reference the controls/properties of your
   //Container class/control using tmp... see example below as i do not know
   //what your Container control exposes as far as properties are concerned.
   Adapter.insertposition(RackID, row, col, tmp.ChannelValue, "Ready");
}
Другие вопросы по тегам