我正在尝试创建一个应用程序,用户可以单击按钮浏览不同的表单。 I.E:如果我点击网络状态,它会用网络状态表格替换主表格,然后你可以点击“返回”返回主表格。
这样做的最佳方法是什么?我在想面板,但人们告诉我使用usercontrol,我对它不是很熟悉。我很感激任何指导。
答案 0 :(得分:2)
查看帖子时,没有看到任何原因,因为没有其他Form
。
为什么不创建另一个功能齐全的Form
,并隐藏“来源”Form
。
可以创建一些forms linked list
结构,你有(比方说)
public class MyAppForm : Form
{
MyAppForm _prev...
MyAppForm _next...
}
通过这种方式点击(例如)Go to next
按钮,我们会隐藏原始文件,选择并显示_next
。
只是一个想法。您可以更改它以使其更简单或更适合您的应用程序需求。
答案 1 :(得分:1)
您可以根据需要使用多个表单,并根据需要使用Show
和Hide
。
您可能还会考虑使用MDI表单之类的内容,您可以在其中使用一个父表单来托管您的菜单,状态和其他栏。
答案 2 :(得分:1)
您好,
假设您的要求如storyboard
所述。根据UserControl上的图片,UserControl of these many controls
为DOCKED
。现在,在空白区域,您必须show / hide
page / form / screen
。
我建议这段代码可以帮助您在导航上动态显示/隐藏表单。在导航位中有这个,即下一个/上一个单击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);
点击下一步和上一次点击,您只需Controls.RemoveByKey(...)
隐藏现有表单&在您实例化之后,上面的代码将add
下一个相应的表单。如果您为所有unique names
[无论你说什么]定义forms / screen / page
,这是一个很酷的功能,可以从集合中删除控件[s]。
这种方法/设计将让您专注于设计您的 页面/屏幕,因为创建此Usercontrol是一次性的 活动。之后,您只能逐个设计各个导航页面/屏幕 之一。