如何在splitcontainer内获得控制
本文关键字:控制 splitcontainer | 更新日期: 2023-09-27 18:10:58
代码为
((DataGridView)(Application.OpenForms["frmMasterInterface"]
.Controls["splitContainer1"]
.Controls["splitContainer1.Panel1"]
.Controls["pnlLeft"]
.Controls["grbfittingTypes"]
.Controls["dgvitems"])).Rows[RowIndex].Cells["sizeRange"].Value
我想从另一种形式得到行datagridview的值。请帮助。
谢谢,认为,
nitin
可能有数百种方法可以做到这一点,我刚刚尝试了以下方法,首先获得对分割容器的引用,然后直接访问Panel1
,它可以工作:
SplitContainer sc = (SplitContainer)Application.OpenForms[0].Controls["splitContainer1"];
DataGridView dg = (DataGridView)sc.Panel1.Controls["dataGridView1"];
也就是说,如果我是你,我会考虑在你的frmMasterInterface
上创建一个属性来直接访问DataGridView
,然后将对frmMasterInterface
的引用传递到第二种形式。
i希望你想通过点击单元格内容获得数据。如你所定义的,它适合我,希望对你有所帮助。
DataGridView dggg; //Globally Declared
private void dd()
{
var form = (frmMasterInterface)Application.OpenForms["frmMasterInterface"];//Form Name
if (form == null) return;
foreach (DataGridView dgv in form.Controls.OfType<DataGridView>())
if (dgv.Name == "dataGridView1") //name of data grid view
{
dggg = dgv;
dgv.CellMouseClick += Datagirdmouseclick;
}
}
private void Datagirdmouseclick(object sender, DataGridViewCellMouseEventArgs e)
{
Trace.WriteLine(dggg.Rows[e.RowIndex].Cells["sizeRange"].Value);
}
希望能有所帮助。