更换表格的最佳方法是什么?

时间:2012-06-15 09:16:59

标签: c# .net winforms

我正在尝试创建一个应用程序,用户可以单击按钮浏览不同的表单。 I.E:如果我点击网络状态,它会用网络状态表格替换主表格,然后你可以点击“返回”返回主表格。

这样做的最佳方法是什么?我在想面板,但人们告诉我使用usercontrol,我对它不是很熟悉。我很感激任何指导。

3 个答案:

答案 0 :(得分:2)

查看帖子时,没有看到任何原因,因为没有其他Form

为什么不创建另一个功能齐全的Form,并隐藏“来源”Form

可以创建一些forms linked list结构,你有(比方说)

public class MyAppForm : Form 
{
     MyAppForm _prev... 
     MyAppForm _next...
}

通过这种方式点击(例如)Go to next按钮,我们会隐藏原始文件,选择并显示_next

只是一个想法。您可以更改它以使其更简单或更适合您的应用程序需求。

答案 1 :(得分:1)

您可以根据需要使用多个表单,并根据需要使用ShowHide

您可能还会考虑使用MDI表单之类的内容,您可以在其中使用一个父表单来托管您的菜单,状态和其他栏。

答案 2 :(得分:1)

enter image description here

您好,

假设您的要求如storyboard所述。根据UserControl上的图片,UserControl of these many controlsDOCKED。现在,在空白区域,您必须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是一次性的   活动。之后,您只能逐个设计各个导航页面/屏幕   之一。