Change accept button with tabs

前端 未结 3 1361
伪装坚强ぢ
伪装坚强ぢ 2021-01-06 12:59

I have a windows form application written in C# and it has three tabs and I would like the accept button change with the active tab. Like When I am in tab 1 I want button _

相关标签:
3条回答
  • 2021-01-06 13:34

    You can do different things based on the tab that is currently selected by using the following code in the AcceptButton_Click event handler:

    if (tabControl1.SelectedTab == tabPage1)
    {
        //Do something
    }
    else if (tabControl1.SelectedTab == tabPage2)
    {
        //Do something different
    }
    

    If you prefer to work with strings, each tab page has a unique name:

    switch (tabControl1.SelectedTab.Name)
    {
        case "Tab1Name":
            //Do something
            break;
        case "Tab2Name":
            //Do something different
            break;
    }
    

    If this answered your question, please mark it as the answer to your question.

    0 讨论(0)
  • 2021-01-06 13:47

    TabControl have SelectedIndexChanged event.

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (tabControl1.SelectedTab == tabControl1.TabPages["RenewalTab"])
            {
                this.AcceptButton = btnRenewal;
            }
            else if (tabControl1.SelectedTab == tabControl1.TabPages["SellerTab"])
            {
                this.AcceptButton = btnSeller;
            }
        }
    
    0 讨论(0)
  • 2021-01-06 13:49

    Best guess would be to hook in to the SelectedIndexChanged event on the tab control and change the AcceptButton depending on which tab is selected. Pseudo-code:

    Form_OnLoad(...)
    {
        this.tabControl.SelectedIndexChanged += (s,e) => {
            TabControl tab = s as TabControl;
            switch (tab.SelectedIndex){
                case 3:
                    this.AcceptButton = this.button_3;
                    break;
                case 2:
                    this.AcceptButton = this.button_2;
                    break;
                case 1:
                default:
                    this.AcceptButton = this.button_1;
                    break;
            }
        };
    }
    

    Or something of the sort.

    0 讨论(0)
提交回复
热议问题