我正在開發一個實用類以建立一些常用功能。是否可以進行OOP轉換
其中一個函數嘗試自定義窗體表單屬性。 該函數接受一個參數,它應該是一個窗體參考變量,然後它自定義它的佈局。
問題是,窗體窗體是不同的對象類型,例如, Form1,Form2,...等 因此,我無法確定我應該在函數中使用哪種對象類型。
例如是公共靜態無效SetFormAttributes(REF ??? targetForm)
的代碼如下:
void btn_show_Click(object sender, EventArgs e)
{
this.pnl_ShowForms.Controls.Clear();
int tag = Convert.ToInt32((sender as Button).Tag);
switch (tag)
{
case 1:
Form1 frm1 = new Form1();
Utilities.SetFormAttributes(ref frm1);
this.pnl_ShowForms.Controls.Add(frm1);
frm1.Show();
break;
case 2:
Form2 frm2 = new Form2();
Utilities.SetFormAttributes(ref frm2);
this.pnl_ShowForms.Controls.Add(frm2);
frm2.Show();
break;
case 3:
Form3 frm3 = new Form3();
Utilities.SetFormAttributes(ref frm3);
this.pnl_ShowForms.Controls.Add(frm3);
frm3.Show();
break;
}
}
namespace WFA_ShowFormsInPanel
{
public static class Utilities
{
public static void SetFormAttributes(ref ??? targetForm)
{
{
targetForm.FormBorderStyle = FormBorderStyle.None;
targetForm.Dock = DockStyle.Fill;
targetForm.WindowState = FormWindowState.Maximized;
targetForm.TopLevel = false;
}
}
}
}
爲什麼ref? (添加填充符合最小注釋大小要求) –
我已經測試了代碼建議,它的工作原理。 但是,爲什麼ref不是必需的?我是面向對象的新手,我認爲如果我想改變原始對象,我必須通過引用。任何點擊或鏈接解釋這將非常感激。 – Alvin