【问题标题】:How to raise an event between two different forms ( of the same program)如何在(同一程序的)两种不同形式之间引发事件
【发布时间】:2009-07-01 14:34:37
【问题描述】:

我有一个 MDI 表单,它会打开一个登录表单,以便对用户进行身份验证

当用户点击登录按钮并通过正确的身份验证时,我想触发一个事件,父表单可以获取并更改一些变量(例如(authenticated = true))

我了解如何在文本框或服装用户控件之类的东西中执行此操作,但我不清楚如何在表单之间执行此操作,因为我通常通过设计器视图执行此操作

有人可以指导我在不同的表单上触发事件吗?

【问题讨论】:

  • 为什么不能只显示登录表单并等待它将数据返回给父表单?
  • 使用 ShowDialog 方法显示表单。这会阻止调用代码,直到登录表单关闭。关闭登录表单后,调用代码可以从您添加到登录表单的属性中读取它需要的数据。无需活动。
  • if showdialog == dialogreslut.ok) 你会如何将它用于表单呢?

标签: c# winforms event-handling


【解决方案1】:

在父表单中,类似于:

loginForm.Authenticated += MyEventHandler;

loginForm.Authenticated += delegate { /* Code here */ };

loginForm.Authenticated += (sender, args) => { /* Code here */ };

【讨论】:

    猜你喜欢
    • 2012-01-25
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 2020-12-06
    相关资源
    最近更新 更多