我正在尝试制作一个应用程序,用户可以在其中单击按钮以浏览不同的表单。IE:如果我点击网络状态,它会将主窗体替换为网络状态窗体,然后您可以通过单击“返回”返回主窗体。
这样做的最佳方法是什么?我正在考虑面板,但人们告诉我使用 usercontrol,我对它不太熟悉。我会很感激任何指导。
看帖子看不出有任何理由不拥有另一个Form
。
为什么不创建另一个功能齐全Form
的,并隐藏“源” Form
。
可以创建一些,某种forms linked list
结构,你有(比方说)
public class MyAppForm : Form
{
MyAppForm _prev...
MyAppForm _next...
}
通过这种方式(比如说)Go to next
按钮单击,我们隐藏原始,选择和显示_next
。
只是一个想法。您可以对其进行更改以使其更简单或更好地满足您的应用程序需求。
您可以在需要时使用多种表格,Show
并Hide
根据需要使用它们。
您还可以考虑使用 MDI 表单之类的东西,您可以在其中拥有一个可以托管菜单、状态和其他栏的父表单。
你好,
假设您的要求如storyboard
. 根据 UserControl 上的图片UserControl of these many controls
有一个。DOCKED
现在在空白区域中,您将不得不show / hide
将page / form / screen
.
我建议这段代码可以帮助您在导航时动态显示/隐藏表单。在您的导航位中有这个,即 Next / Prev 点击Usercontrol
-
form.Location = new Point(leftPaneControl.Width , BannerControl.Height);
form.Size = new Size(this.Width - leftPaneControl.Width, this.Height - BannerControl.Height);
form.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left |
AnchorStyles.Right;
this.Controls.Add(form);
在 Next 和 Prev clicks 上,您只需Controls.RemoveByKey(...)
隐藏现有的表单,上面的代码将add
在您实例化相同的表单后成为下一个相应的表单。unique names
如果您已为所有forms / screen / page
[无论您说什么] 定义,这是一个非常酷的功能,可以从集合中删除控件 [s ]。
这种方法/设计将允许您只专注于设计您的页面/屏幕,因为创建此用户控件是一次性活动。之后,您将只需要一一设计您的个人导航页面/屏幕。