【问题标题】:Minimise a winform from a usercontrol in C#在 C# 中最小化来自用户控件的 winform
【发布时间】:2017-04-22 03:35:16
【问题描述】:

我有一个 C# 应用程序,其主窗体为 Form2。

在 Form2 中有一个面板,其中停靠了几个不同的用户控件。用户单击直到最后的“完成”按钮(仍在 Form2 上的 UserControl 内)。单击时,我希望 Form2 最小化并打开 Form3。

Form3 打开没问题,但我不知道如何从 UserControl 中访问 Form2 的控件。

我知道最小化表单的代码,但不知道访问已打开的 Form2 实例的初始代码。

我不需要任何变量来回传递,只需要访问Form2的控件即可。

我试过了; Form2 mainForm = new Form2();

但这显然是不对的,因为我不需要新的 Form2。

有什么建议吗?

【问题讨论】:

  • 用户控件可以访问 ParentForm 属性。

标签: winforms c#-4.0


【解决方案1】:

使用Control.TopLevelControl()

获取不属于其他 Windows 窗体的父控件 控制。通常,这是控件所在的最外层窗体 包含在。

类似:

Form2 f2 = (Form2)this.TopLevelControl; // from within your UserControl

【讨论】:

  • 我得到:'无法将'DWSPanelC.sideBar'类型的对象转换为'DWSPanelC.Form2'类型。 DWSPanelC 是应用程序名称,sideBar 是我要最小化 Form2 的第二个表单(这是主应用程序表单)
  • 我错误地将您的代码放入了错误的格式中。一旦进入用户控件,它就可以正常工作了。
猜你喜欢
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多