winforms面板与java秋千面板

时间:2009-03-04 15:05:26

标签: c# java winforms swing jpanel

在java swing中我可以将面板插入面板等等,而不必为我的应用程序的每个视图构建一个全新的窗口,或者在删除和添加控件时乱七八糟。

Theres a clas sin C#但是我无法看到创建“面板表单”的任何方式,或者基本上只是表单设计器中的表单及其内容。

我如何做到这一点,并按照我对java swing的方式工作?

3 个答案:

答案 0 :(得分:2)

通常我只是在父窗口中将IsMdiContainer属性设置为true,以便在彼此之间停靠不同的形式。然后我创建使用以下函数停靠的子表单:

static class FormUtil
{
    static public void showForm(Form sender, Control reciever)
    {
        sender.ControlBox = false;
        sender.FormBorderStyle = FormBorderStyle.None;
        sender.ShowInTaskbar = false;
        sender.TopLevel = false;
        sender.Visible = true;
        sender.Dock = DockStyle.Fill;

        reciever.Controls.Clear(); //clear panel first
        reciever.Controls.Add(sender);
    }

}

然后每当我需要将表单停靠在父表单上的面板中时,我就会这样做:

FormUtil.showForm(new SomeForm(), this.splitContainer1.Panel1);

这允许我将一些表单创建委托给不同的设计师。对我来说就像是一种魅力,如果有更好的方式,我们喜欢听。

答案 1 :(得分:0)

实际上,您可以使用面板控件并将其Dock属性设置为Fill。这样,您的面板将成为表单的整个画布。然后,您可以根据需要通过代码隐藏或通过表单设计器添加子面板。

答案 2 :(得分:0)

用户控件的概念基本上为您提供了类似设计器表面的面板,更不用说您可以创建原子表单(可以重用)并将它们注册为可继承的,这样您也可以提供继承。 / p>