如何在选项卡之间克隆按钮 C# Visual Studio 2015
How to clone button between tabs C# Visual Studio 2015
Example
嗨!如何在其他选项卡上克隆按钮?我需要在多个选项卡中使用相同的按钮,具有相同属性、相同代码、相同事件、相同名称等的相同按钮。
"Compress file" 按钮在 Tab1、Tab4、Tab6 和 Tab8 中将是相同的...将在许多选项卡中执行相同的操作,因此我不想制作新按钮每次。我不想制作 10000 个做同样事情的按钮。
我需要克隆很多按钮,而不仅仅是 "compress file",这就是为什么我不能将 "Compress file" 放在 TabControl 之外并使其不可见或可见的原因。
我正在使用 C# 开发 Visual Studio 2015。
您可能只需要将按钮添加到 TabControl
前面,而不是在其中一个标签页上,这样它将显示在所有标签页上,但如果您必须更改其位置,每次切换到其他标签页时,您都应该以编程方式更改按钮的位置。此外,如果您不需要它显示在某些标签页上,那么您应该将其设置为在该标签页上不可见。
无论如何,我真的不喜欢这样做,但我宁愿在每个选项卡上添加我需要的所有按钮,并将所有按钮连接到相同的事件处理程序上。
注意:如果您无法在选项卡控件前面添加按钮,您可以使用视图 > 其他 Windows > 文档大纲来更改它。
创建一个通用函数,随意添加更多参数以使其更灵活:
void CreateButton(TabControl tc, string text, EventHandler click)
{
Button button = new Button();
button.Width = 100;
button.Height = 100;
button.ForeColor = Color.Blue;
button.Text = text;
button.Click += click;
tc.Controls.Add(button);
}
用法:
CreateButton(Tab1, "Compress file", Button_Click);
在开发人员代码中创建您的按钮。然后稍后在切换选项卡时使用引用将其添加到每个选项卡的控件中。例如
public MyForm()
{
Initialize();
Button MyOneTrickButton = new Button();
//Create button with all attributes and actions
...
}
void MyTabControl_SelectedIndexChanged(object sender, EventArgs e)
{
MyTabControl.SelectedTab.Controls.Add(MyOneTrickButton);
}
第二个选项是创建一个包含您的按钮的自定义 TabControl,并在将选项卡添加到表单时使用它而不是普通的 TabControl。
向您的项目添加新的用户控件和一个带有 Click 事件的按钮。
后面的代码:
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
// Add some public properties to Caculate
public string SomeProperties { get; set; }
private void button1_Click(object sender, EventArgs e)
{
// Some tasks that you often do ...........
}
}
你可以在任何地方使用它。
Example
嗨!如何在其他选项卡上克隆按钮?我需要在多个选项卡中使用相同的按钮,具有相同属性、相同代码、相同事件、相同名称等的相同按钮。
"Compress file" 按钮在 Tab1、Tab4、Tab6 和 Tab8 中将是相同的...将在许多选项卡中执行相同的操作,因此我不想制作新按钮每次。我不想制作 10000 个做同样事情的按钮。
我需要克隆很多按钮,而不仅仅是 "compress file",这就是为什么我不能将 "Compress file" 放在 TabControl 之外并使其不可见或可见的原因。
我正在使用 C# 开发 Visual Studio 2015。
您可能只需要将按钮添加到 TabControl
前面,而不是在其中一个标签页上,这样它将显示在所有标签页上,但如果您必须更改其位置,每次切换到其他标签页时,您都应该以编程方式更改按钮的位置。此外,如果您不需要它显示在某些标签页上,那么您应该将其设置为在该标签页上不可见。
无论如何,我真的不喜欢这样做,但我宁愿在每个选项卡上添加我需要的所有按钮,并将所有按钮连接到相同的事件处理程序上。
注意:如果您无法在选项卡控件前面添加按钮,您可以使用视图 > 其他 Windows > 文档大纲来更改它。
创建一个通用函数,随意添加更多参数以使其更灵活:
void CreateButton(TabControl tc, string text, EventHandler click)
{
Button button = new Button();
button.Width = 100;
button.Height = 100;
button.ForeColor = Color.Blue;
button.Text = text;
button.Click += click;
tc.Controls.Add(button);
}
用法:
CreateButton(Tab1, "Compress file", Button_Click);
在开发人员代码中创建您的按钮。然后稍后在切换选项卡时使用引用将其添加到每个选项卡的控件中。例如
public MyForm()
{
Initialize();
Button MyOneTrickButton = new Button();
//Create button with all attributes and actions
...
}
void MyTabControl_SelectedIndexChanged(object sender, EventArgs e)
{
MyTabControl.SelectedTab.Controls.Add(MyOneTrickButton);
}
第二个选项是创建一个包含您的按钮的自定义 TabControl,并在将选项卡添加到表单时使用它而不是普通的 TabControl。
向您的项目添加新的用户控件和一个带有 Click 事件的按钮。 后面的代码:
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
// Add some public properties to Caculate
public string SomeProperties { get; set; }
private void button1_Click(object sender, EventArgs e)
{
// Some tasks that you often do ...........
}
}
你可以在任何地方使用它。