【发布时间】:2017-09-01 12:06:26
【问题描述】:
我在开发 SDI Windows 窗体应用程序时遇到问题。我正在使用单个窗口和不同的用户控件,这些控件会随着用户在应用程序中的进展而被换出。
问题:我有一个名为 Login 的用户控件来处理登录过程。用户成功登录后,登录用户控件应该消失,主页用户控件应该放在前面。
Login 用户控件需要移除自身并将控制权转移给 Homepage 用户控件。
我尝试将所需的用户控件作为参数发送到 MainForm 中的方法,尽管它不会更改用户控件。
我怎样才能做到这一点?我使用的方法错了吗?
请原谅我是用户控件的初学者。
【问题讨论】:
-
请添加一些相关代码。就像你转移控制权的代码和你正在调用的方法(以及其他任何看起来合适的东西)
-
简单的方法是将您看到的屏幕(页面)拆分为不同的
UserControls(例如UserControlLogin、UserControlSettings等),然后从单一形式的Controls中添加/删除它们(主要形式)。另一种对初学者来说可能更容易的方法是使用headlessTabControl,您只需从选项卡切换到选项卡并将所有代码以单一形式(原文如此!)。从某事开始。 -
@Sinatr 感谢您的回复。我将尝试无头 tabcontrol 方法。 winforms应用程序的框架中没有类似wpf页面的东西吗?
-
"wpf pages in a frame for winforms apps" - 页面是
UserControls,frame是任何可以包含children的控件。
标签: c# winforms user-controls