在java swing中我可以将面板插入面板等等,而不必为我的应用程序的每个视图构建一个全新的窗口,或者在删除和添加控件时乱七八糟。
Theres a clas sin C#但是我无法看到创建“面板表单”的任何方式,或者基本上只是表单设计器中的表单及其内容。
我如何做到这一点,并按照我对java swing的方式工作?
答案 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>