将数据从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();
}
}
您的第二个表单需要引用第一个表单:
表格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;
编辑Form38
的dataGridView1
的按键事件
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;
}
}
}