[英]How to clone button between tabs C# Visual Studio 2015
嗨! 如何克隆其他选项卡上的按钮? 我需要在许多选项卡中使用相同的按钮,使用相同的属性,相同的代码,相同的事件,相同的名称等来使用相同的按钮。
Tab1,Tab4,Tab6和Tab8中的“压缩文件”按钮将是相同的...在许多选项卡中,它将执行相同的操作,因此我不想每次都创建一个新按钮。 我不想做同样的事情的10000个按钮。
我需要克隆许多按钮,而不仅仅是“压缩文件”,这就是为什么我不能只将“压缩文件”放在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 ...........
}
}
您可以在任何需要的地方使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.