我正在創建一個包含圖像和文本的大按鈕菜單。選中時,邊框位於按鈕周圍。在c#中使用控件數組.net
按鈕文本並不總是相同,並且按鈕的結果也不會點擊。
我有形象的名字,和每個按鈕在這樣的結構設置文本:(有他們四個人,但我會告訴2)
struct ConfigDevSubmenu
{
public const string SubMenuBtnText1 = "";
public const string SubMenuBtnText2 = "text submenu 3 button 1";
public const string SubMenuBtnText3 = "text submenu 3 button 2";
public const string SubMenuBtnText4 = "";
public const string SubMenuBtnImg1 = null;
public const string SubMenuBtnImg2 = "Settings.png";
public const string SubMenuBtnImg3 = "LoadFirmware.png";
public const string SubMenuBtnImg4 = null;
public const string SubMenuBtnBorder1 = "Borderstyle.None";
public const string SubMenuBtnBorder2 = "Borderstyle.FixedSingle";
public const string SubMenuBtnBorder3 = "Borderstyle.FixedSingle";
public const string SubMenuBtnBorder4 = "Borderstyle.None";
}
struct AdvancedSubmenu
{
public const string SubMenuBtnText1 = "text submenu 4 button 1";
public const string SubMenuBtnText2 = "text submenu 4 button 2";
public const string SubMenuBtnText3 = "text submenu 4 button 3";
public const string SubMenuBtnText4 = "text submenu 4 button 4";
public const string SubMenuBtnImg1 = "GenerateEncKey.png";
public const string SubMenuBtnImg2 = "Monitoring.png";
public const string SubMenuBtnImg3 = "AdvancedSettings.png";
public const string SubMenuBtnImg4 = "GenerateConfigFile.png";
public const string SubMenuBtnBorder1 = "Borderstyle.FixedSingle";
public const string SubMenuBtnBorder2 = "Borderstyle.FixedSingle";
public const string SubMenuBtnBorder3 = "Borderstyle.FixedSingle";
public const string SubMenuBtnBorder4 = "Borderstyle.FixedSingle";
}
我不認爲這是可以做到不使用數據庫文件更容易。
創建按鈕我有這個函數,它具有作爲它應該使用哪個結構的參數,並且在switch case結構中創建每個按鈕。 但是我發現自己在這些函數中複製粘貼很多,所以這一定更容易。因此我嘗試了類似下面的內容,但這不起作用。我想知道是否有可能做出這項工作,以及我該如何做到這一點。
private void createButtons(string Struct)
{
for (int i = 1; i < 5; i++)
{
SubBtnText[i].Text = Struct.SubMenuBtnText[i];
pictureBoxSubBtn[i].Image = Image.FromFile(Struct.SubMenuBtnImg[i]);
panelSubBtn[i].BorderStyle = Struct.SubMenuBtnBorder[i];
}
}
任何暗示?
這看起來真棒。我現在就試試看! – 2pietjuh2
對此做了一些調整,但我不確定這比我更好,但我從中學到了:) – 2pietjuh2