【问题标题】:Display value from datagridview to textbox in other form c#.Net以其他形式c#.Net从datagridview显示值到文本框
【发布时间】:2015-05-29 09:29:50
【问题描述】:

我是C#.Net初学者!

我有两种主要形式和贬义形式..

我的 datagridview 在 Mainform 中,然后我的文本框在贬义形式。

问题:

在Mainform中点击datagridview的单元格后,如何将Mainform中datagridview的值显示到贬义形式的文本框中?

这是我的代码:!!

在主窗体中

private void datagridDero_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    UpdateDerogatory Derogatory = new UpdateDerogatory(ref datagridDero);
    Derogatory.Show();
}

**in updateDerogatory Form**

private void UpdateDerogatory_Load(object sender, EventArgs e)
{
    Mainform main = new Mainform();
    string[] items = new string[main.datagridDero.Columns.Count];
    for (int i = 0; i < main.datagridDero.Columns.Count; i++)
    {
        items[i] = datagridDero[i, datagridDero.CurrentCell.RowIndex].Value.ToString();
    }
    txtfirstname.Text = items[0];
    loadDerogatory();
}

我的问题是更新的否定形式无法从 Mainform 调用 datagridview (datagridDero)。

感谢您的帮助!

【问题讨论】:

标签: c# vb.net winforms datagridview textbox


【解决方案1】:

自从我使用 Winforms 已经有一段时间了,但我个人会使用事件:将适当的 DataGridView event(在这种情况下,CellClick 可能是最相关的)绑定到一个存在于贬义形式中的方法。通过该方法,您应该能够访问事件信息,这应该允许您获取单元格值,并显示到贬义表单内的文本框。

【讨论】:

    【解决方案2】:

    您可以在单元格单击事件中完成所有这些操作,只需从网格视图中获取您想要的所有数据,显示您的第二个表单,将您的值设置为第二个表单中的值,然后处理第一个表单。或者如果您不关闭第一个表单,您可以直接从第二个表单调用它。无论哪种方式都行得通,这只是什么时候可用的问题。

    这对您不起作用的原因之一是因为在第二种表单中您正在创建主表单Mainform main = new Mainform(); 的新实例,这个新实例没有数据。如果此时表单仍然存在,只需引用表单名称即可。

    【讨论】:

      猜你喜欢
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多