WinForm中如何获取子控件的内容?

问题描述 投票:0回答:1

我有WinForm,它有很多控件(tabcontrol,tabpage,datagridview,...等)。我想获取datagridview中的数据。设计的结构是这样的(TabControl会有很多TabPage,每个TabPage会有一个TabControl,每个TabControl会有很多TabPage,每个TabPage会有一个DataGridView)。

TabControlX
+TabPage
++TabControl
+++TabPage
++++DataGridView
+++TabPage
++++DataGridView
+TabPage
++TabControl
+++TabPage
++++DataGridView
+++TabPage
++++DataGridView

所以,我想获取每个DataGridView的数据。我不确定这些东西是正确还是错误。

            foreach (TabPage tbp in tabControl_X.TabPages)
            {
                foreach (Control item in tbp.Controls)
                {
                    foreach (TabPage sub_tab in item.Controls)
                    {
                        foreach (Control dgv in sub_tab.Controls)
                        {
                            //how to get data dgv?
                        }
                    }
                }
            }
c# winforms datagridview tabcontrol tabpage
1个回答
0
投票

如果你想获得dgv控件,必须是:

  • 可以在您需要的地方、在您的代码中访问
  • 以你能找到的方式命名

因此,如果您通过 TabControlX 控件的设计器添加了 dgv,那么您应该能够通过其名称访问它们。

如果您想从 TabControlX 控件外部访问它们,则 dgv 的成员必须标记为

internal
public

除了设计器中的“属性”选项卡外,尝试查看

.Designer.cs
代码文件;在那里你应该能够找到你的控件的变量。

© www.soinside.com 2019 - 2024. All rights reserved.