将数据从Gridview获取到其他Windows窗体

本文关键字:其他 Windows 窗体 获取 数据 Gridview | 更新日期: 2023-09-27 17:57:27

我有Windows窗体form1,按Enter键可打开一个新的form2。在form2中,有一个显示不同值的数据网格视图。现在,在form2中按Enter键,我得到数据网格视图的选定值。问题是我想将该值移动到以前的form1,但当我尝试时,它会打开一个新表单并移动该值。

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        Form37 f = new Form37();
        f.a = 1;
        f.v = dataGridView1.SelectedCells[0].Value.ToString();
        f.Show();
    }
}

将数据从Gridview获取到其他Windows窗体

您的第二个表单需要引用第一个表单:

表格37:

编辑Form37按键事件

private void Form37_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        Form38 f = new Form38();
        f.caller_form = this;
        this.Hide();
        f.Show();
    }
}

Form38:

Form38类的根目录中添加一个新变量:

public partial class Form38 : Form
    {
       Form37 caller_form;

编辑Form38dataGridView1的按键事件

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        Form37 f = caller_form;
        f.a = 1;
        f.v = dataGridView1.SelectedCells[0].Value.ToString();
        f.Show();
        this.Close();
    }
}
        //  Mimize Your From1 using
          From1.WindowState = FormWindowState.Minimized;
         //..... 
        // Key press On data Grid
        //.....

        //using this get from37 and 
    foreach (Form  frms in this.MdiChildren)
{
    if (frms is from37 )
    {
        if (frms.WindowState==FormWindowState.Minimized)
        {
            frms.WindowState = FormWindowState.Maximized;
            //Minimized current form;
            this.WindowState = FormWindowState.Minimized;
        }
    }
}