table 布局面板中的树视图并动态获取值 c#
Tree-views in table layout panel and get values dynamically c#
我在 table 布局面板中有多个树视图 - C# windows 应用程序。
每个单元格由 Treeview 或下拉列表或文本框组成。我可以获取文本框和下拉列表的值,但无法在 table 布局面板中获取多个 Treeview 的选定节点。
在我的代码下方。
int rows;
int column;
rows = tableLayoutPanel1.RowCount;
column = tableLayoutPanel1.ColumnCount;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < column; j++)
{
Control value = tableLayoutPanel1.GetControlFromPosition(j, i);
//here i got specified treeview but i can't get refernce. getting error
string controlName = value.Controls.Owner.Name;
//here i got error i am unable to get treeview selected text
string seletedvalue = controlName.SelectedNode.Text;
MessageBox.Show(controlName);
}
}
您正在获取控件,但没有检查它是什么类型的控件,也没有进行强制转换。所以它仍然是一个通用控件,而不是 TreeView。而且只有 TreeView 有节点。
您也可以简单地选择您想要的特定控件。
foreach ( TreeView tv in tableLayoutPanel1.Controls.OfType<TreeView>())
{
string seletedvalue = tv.SelectedNode.Text;
MessageBox.Show(tv.Name + " " + seletedvalue);
}
我在 table 布局面板中有多个树视图 - C# windows 应用程序。
每个单元格由 Treeview 或下拉列表或文本框组成。我可以获取文本框和下拉列表的值,但无法在 table 布局面板中获取多个 Treeview 的选定节点。
在我的代码下方。
int rows;
int column;
rows = tableLayoutPanel1.RowCount;
column = tableLayoutPanel1.ColumnCount;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < column; j++)
{
Control value = tableLayoutPanel1.GetControlFromPosition(j, i);
//here i got specified treeview but i can't get refernce. getting error
string controlName = value.Controls.Owner.Name;
//here i got error i am unable to get treeview selected text
string seletedvalue = controlName.SelectedNode.Text;
MessageBox.Show(controlName);
}
}
您正在获取控件,但没有检查它是什么类型的控件,也没有进行强制转换。所以它仍然是一个通用控件,而不是 TreeView。而且只有 TreeView 有节点。
您也可以简单地选择您想要的特定控件。
foreach ( TreeView tv in tableLayoutPanel1.Controls.OfType<TreeView>())
{
string seletedvalue = tv.SelectedNode.Text;
MessageBox.Show(tv.Name + " " + seletedvalue);
}