C# Winforms .Net - 两个窗体之间的动态通信

发布于 2024-11-04 22:01:04 字数 117 浏览 3 评论 0原文

我有两个需要同时通信的人。当单击 FORM B 中的某些元素时,将显示 FORM A 并执行某些操作。但是当我在第一次操作后单击 FORM A 中的某个下一个按钮时,FORM B 中的 foreach 循环应该可以工作。

I've two froms which need to communicate simultaneously. When certain element in FORM B is clicked, FORM A is shown and some operation is performed. But the foreach loop inside FORM B should work when i click some next button in FORM A after the first operation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠我空喜 2024-11-11 22:01:04

您可以修改 FormA 的构造函数

public FormA(Form F1)
{
   InitializeComponent();
   formB = frm as FormB;            
}

FormB 中的表单显示为

FormA frmA = new FormA(this);
frmA.Show();

现在您在 FormA 中引用了 FormB >。现在在公共方法中公开循环逻辑,该方法可以由 FormB 的此实例访问

希望这会有所帮助。

Can you modify the constructor of your FormA

public FormA(Form F1)
{
   InitializeComponent();
   formB = frm as FormB;            
}

Show the form from FormB as

FormA frmA = new FormA(this);
frmA.Show();

Now you have a reference of FormB in FormA. Now expose the loop logic in a public method which could be accessed by this instance of FormB

Hope this helps.

王权女流氓 2024-11-11 22:01:04

另一种选择是在 FormB 中创建您自己的事件并在 FormA 中订阅它们
以下是一些示例:
http://msdn.microsoft.com/en -us/library/8627sbea(v=vs.71).aspx
http://ondotnet.com/pub/a/dotnet/ 2002/04/15/events.html
http://www.switchonthecode.com/tutorials/csharp- snippet-tutorial-custom-event-handlers

这里还有一个关于如何执行此操作的很棒的示例:
如何在 C# 中创建自己的事件?

另请注意,虽然 V4Vendetta 提供的是执行此操作的简单方法,但这可能是执行此操作的更好方法,也是更好的实践。

Another option is to create your own events in FormB and subscribe to them in FormA
here is a few examples:
http://msdn.microsoft.com/en-us/library/8627sbea(v=vs.71).aspx
http://ondotnet.com/pub/a/dotnet/2002/04/15/events.html
http://www.switchonthecode.com/tutorials/csharp-snippet-tutorial-custom-event-handlers

Also here is a greate sample about how to do this:
How can I make my own event in C#?

Note also,while what V4Vendetta offered would be the easy way to do this-this however is probably the better way to do this,and also a better practice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文