我正在制作一个名为 FMP 的 Windows 窗体应用程序。我有一个名为 Form1 的类,一个名为 Panels 的类。然后我使用继承来制作具有不同属性的不同面板。
这样做的原因是因为老师不希望我们初始化 Form-class 中的所有面板。
但我不知道该怎么做。在这里@Stackoverflow 找到了一些东西,但他们也帮不了我。
所有面板的尺寸、位置和颜色都相同。(通过单击一个按钮,将出现另一个面板;))但是面板上的名称、控件和背景图像是不同的。控件是这里最重要的方面。
问题是:
宽度和高度应等于窗体的宽度和高度。什么是最好的 C# 编程?要从 Form1 中的面板设置宽度和高度(但我将它们设为保护)或在面板类中声明表单并使用 Form1.Width?
我正确知道的代码:
表格 1
public Form1()
{
InitializeComponent();
buttonsProperties();
panelsProperties();
}
private void button1_Click(object sender, EventArgs e)
{
panelsChanged(1);
}
private void button2_Click(object sender, EventArgs e)
{
panelsChanged(2);
}
private void panelsChanged(int panelNr)
{
if (panelNr == 1)
{
panel1.Visible = true;
panel1.Enabled = true;
panel2.Visible = false;
panel2.Enabled = false;
}
else if (panelNr == 2)
{
panel1.Visible = false;
panel1.Enabled = false;
panel2.Visible = true;
panel2.Enabled = true;
}
}
小组
class Panels
{
Form1 f = new Form1();
//Color Property
protected Color color { get; set; }
//Size
protected Int32 Width { get; set; }
protected Int32 Height{ get; set; }
//Location
protected Point Location { get; set; }
public Panels()
{
initMembers();
}
private void initMembers()
{
this.Width = f.Width;
this.Height = f.Height;
this.Location = new Point(0, 0);
}
}
public class Panel1 : Panels
{
//Nothing yet.
}