首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >winforms面板与java swing面板

winforms面板与java swing面板
EN

Stack Overflow用户
提问于 2009-03-04 15:05:26
回答 3查看 1.7K关注 0票数 1

在java swing中,我可以将面板插入到面板中等等,而不必为我的应用程序的每个视图构建一个全新的窗口,也不必费力地删除和添加控件。

在C#中有一个panel类,但是我看不到任何创建'panel form‘方法,或者基本上只是在form designer中创建一个包含面板及其内容的表单。

那么,我该如何做到这一点,并像我在java swing中那样工作呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-04 15:20:14

通常,我只是将不同的窗体停靠在其他窗体中,在父窗口上将IsMdiContainer属性设置为true。然后,我使用以下函数创建停靠的子窗体:

代码语言:javascript
复制
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);
    }

}

然后,每当我需要将窗体停靠在父级窗体上的面板中时,我只需执行以下操作:

代码语言:javascript
复制
FormUtil.showForm(new SomeForm(), this.splitContainer1.Panel1);

这允许我将一些表单创建工作委托给不同的设计者。它对我来说就像是一种魅力,如果有更好的方法的话,我很想听听。

票数 2
EN

Stack Overflow用户

发布于 2009-03-04 15:19:34

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

票数 0
EN

Stack Overflow用户

发布于 2009-06-04 13:36:46

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/610962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档