Как получить доступ к элементу управления в элементе управления таблицей
У меня есть объект 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");
}