簡體   English   中英

父表單中的啟用按鈕

[英]Enable button from a parent form

我有一個C#Win表格。

主菜單表格有

  1. 按鈕A
  2. 按鈕B
  3. 按鈕C
  4. 按鈕設定

每個按鈕將打開一個新的獲勝表格。 單擊設置按鈕后,它將打開一個安裝表單。 該表格將使用datagridview列出主菜單中除“設置”按鈕之外的所有按鈕。

管理員可以單擊復選框以選擇要在主菜單中啟用的按鈕

任何人都知道如何實現此實現

安裝表單中我的代碼的一部分

foreach (Button button in ????.Controls.OfType<Button>())
        {
            if (!button.Text.Contains("Setup"))
            {
                int index = dgvCheckbox.Rows.Add();
                dgvCheckbox.Rows[index].Cells["Selected"].Value = 0;
                dgvCheckbox.Rows[index].Cells["Button"].Value = button.Text;
            }
        }

如果我用

MainMenu mainMenu = new MainMenu
foreach (Button button in mainMenu.Controls.OfType<Button>())

將出現問題,因為主菜單已經打開

我在顯示表單之前創建CheckBox(而不是菜單),以便您可以以相同的方式填充菜單(此代碼在主表單上):

    private void buttonSetup_Click(object sender, EventArgs e) {
        using (var adminForm = new AdminForm()) {
            foreach (var button in Controls.OfType<Button>().Where(bt => !bt.Text.Contains("Setup"))) {
                adminForm.Controls.Add(new CheckBox {
                    Text = button.Text,
                    Location = button.Location
                });
            }
            adminForm.ShowDialog();
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM