如何通过单击TableLayoutPanel c #windows应用程序中的子控件来获取父控件索引

时间:2013-02-06 08:24:52

标签: c# windows

我需要一些澄清,请任何人提前帮助我。

我有一个包含多个控件的面​​板,例如label,datagridview,文本框和按钮。我将{n'个面板动态添加到TableLayoutPanel中。我需要将记录从一个datagridview转移到另一个datagridview,其中一个驻留在相应的TableLayoutPanel中。我的问题是,如何识别发送到哪个数据网格的数据。是否有可能通过单击子控件来获取列索引。

1 个答案:

答案 0 :(得分:0)

在每个单元格中放置虚拟图像对象。并在TableLayoutPanel的Drop事件中尝试此操作

private void tableLayoutPanel1_DragDrop(object sender, DragEventArgs e)
{
    Point p = tableLayoutPanel1.PointToClient(new Point(e.X, e.Y));
    Control c = tableLayoutPanel1.GetChildAtPoint(p);
    int row = tableLayoutPanel1.GetRow(c);
    int col = tableLayoutPanel1.GetColumn(c);
}

如果你想知道在Gridview中点击的说按钮的索引...

1-创建它们时动态地将行col信息存储在Tag中,例如“1-2”,然后再使用

2-您可以迭代查找row-col以查看匹配的位置。

如果你有DataGridViewCell的引用

然后很简单:

DataGridViewCell.RowIndex DataGridViewCell.ColumnIndex