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 _
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.
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;
}
}
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.