【问题标题】:c# control dynamically created panel by dynamically created buttonc#通过动态创建的按钮控制动态创建的面板
【发布时间】:2020-04-07 16:11:06
【问题描述】:

我添加了一个动态创建另一个按钮的按钮(我们称之为 accountButton) accountButtons 可以动态添加面板和另一个按钮(退出按钮)到面板中

我无法通过 accountButton 使动态创建的面板变为可见或不可见


        private void account_save_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 1; i++)
            {
                BunifuFlatButton accountButton = addButton(i); // Hesap Butonu
                Panel accountPanel = addPanel(i); // Hesap Paneli
                BunifuImageButton exitButton = addexitButton(i); // Hesap Exit Butonu

                panel_accounts.Controls.Add(accountButton); // MainPanel'e eklenen Hesap butonu
                accountButton.Click += new EventHandler(this.accountButtonClick); // MainPanel'e eklenen Hesap butonu islevi
                this.Controls.Add(accountPanel); // Main'e eklenen Hesap paneli
                accountPanel.Controls.Add(exitButton); // Hesap paneli'ne eklenen Exit butonu
                exitButton.Click += new EventHandler(this.exitButtonClick); // Hesap paneli'ne eklenen Exit butonu islevi
            }
        }
        private void accountButtonClick(object sender, EventArgs e)
        {
            BunifuFlatButton currentaccountButton = (BunifuFlatButton)sender;

            Panel currentPanel = (Panel)sender;
            currentPanel.Visible = true;
        }

【问题讨论】:

    标签: c# button dynamic controls panel


    【解决方案1】:

    这行不行:

    Panel currentPanel = (Panel)sender;
    

    因为发送者是被点击的按钮,而不是面板。仅在上面一行,您将完全相同的发件人投射为按钮。

    如果按钮在面板内,您可以这样做:

     Panel currentPanel = (Panel)currentaccountButton.NamingContainer;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 2016-03-01
      相关资源
      最近更新 更多