gpt4 book ai didi

c# - 如何在 C# 中将数据从子窗体发送到父 MDI 窗体或从父 MDI 发送到子窗体?

转载 作者:太空宇宙 更新时间:2023-11-03 21:44:22 25 4
gpt4 key购买 nike

我在子表单中有一个值(let CompanyId)。我想在 MDI 父窗体的级别中传递此值。

在子窗体中,我在数据 GridView 中从数据库中检索数据。现在我从数据 GridView 中选择一个值。

string SkillName = dataGridView1.CurrentRow.Cells["SHORTS"].Value.ToString();

现在我想将此 SkillName 值传递给 MDI 父窗体。我该怎么做?

最佳答案

实际上有无数种方法可以做到这一点。这完全取决于您想做什么以及为什么。@f0x 方法很好,但也可以使用公共(public)参数,创建一个事件并在需要时弹出它,设置一个标志(可以是全局标志)等等。

如果你想将简单的数据从父级传递给子级,你可以像 f0x 所说的那样,在构造函数中完成,或者让子级注册一个你执行的事件,发送一个字符串/整数/等,然后您可以在您( parent )想要的任何时候执行该事件,而 child 会立即处理该数据。

它可以反过来:当 parent 创建 child 时,它注册一个 child 触发的事件......

这是一个例子:

public partial class Form1 : Form
{

public void RegisterSon()
{
ChildForm frm = new ChildForm();
frm.MyEventChild += new MyEvntHndler(frm_MyEventChild);
}

void frm_MyEventChild(string data)
{

}
}

public delegate void MyEvntHndler(string data);

public class ChildForm: Form
{
public event MyEvntHndler MyEventChild;

private void button1_Clicked(object sender, EventArgs e)
{
if (MyEventChild != null)
{
MyEventChild("This is my data");
}
}
}

关于c# - 如何在 C# 中将数据从子窗体发送到父 MDI 窗体或从父 MDI 发送到子窗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com