FMP という Windows フォーム アプリケーションを作成しています。Form1 というクラス、Panels というクラスがあります。次に、継承を使用して、異なるプロパティを持つ異なるパネルを作成します。
これを行う理由は、教師が Form クラスのすべてのパネルを初期化することを望んでいないためです。
しかし、これを行う方法がわかりません。ここで@Stackoverflowでいくつかのものを見つけましたが、それらも私を助けることができませんでした。
サイズ、位置、色はすべてのパネルで同じです。(ボタンをクリックすると、別のパネルが表示されます ;) ) ただし、名前、パネル上のコントロール、および BackgroundImages は異なります。コントロールは、ここで最も重要な側面です。
質問は:
幅と高さは、フォームの幅と高さに等しくなければなりません。C# のプログラミングで最も優れているのはどれですか? Form1 の Panels から Width と Height を設定するには (ただし、私はそれらを保護しました)、Panels クラスでフォームを宣言して 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.
}