我正在使用C#开发一个Windows窗体应用程序,它有一个带有动态创建的标签页的标签控件。我想将ComboSet Item 1
中的相同布局和控件(ComboBoxes,TextBoxes,Buttons& DataGridView)添加到新创建的标签页(在本例中为ComboSet Item 2
)。我该怎么做以及如何命名控件?
将从1,2,3... n
生成新标签页。因此,在新标签下也会添加'n'个DataGridViews。有没有办法绑定这些DataGridViews,是否可以这样做?
非常感谢任何帮助!
答案 0 :(得分:2)
创建新的用户控件 - >将所有控件放入用户控件 - >创建所有控件的属性。那么你只需要管理你的用户控件。
void AddTab()
{
TabPage tbp = new TabPage();
tbp.Name=TabControl1.TabPages.Count.ToString();
MyUserControl cnt = new MyUserControl();
cnt.Name="Cnt" + tbp.Name;
cnt.Dock=DockStyle.Fill;
tbp.Controls.Add(cnt);
}
如果无法将代码放入用户控件,则可以为每个控件创建事件。例如,ProductName组合框的ProductName_SelectedValueChange,验证折扣值并将其处理为AddTab()方法。
答案 1 :(得分:0)
TabPages是像Panel这样的普通容器。
您可以使用tabpage.controls.add()
方法添加一些新项目。如果要命名项目,请使用myitem.Name = "Test"
属性。
如果你想要在更多页面上修复一组项目,你应该为它创建一个Usercontrol。
答案 2 :(得分:0)
由于您想要向标签页添加更多控件,我建议在tabe页面中为内容创建一个自己的UserControl。
根据需要安排UserControl中的控件(DockStyle,Anchor ...)。
创建新标签时,只需创建一个新的UserControl并将其添加到Sebi所提到的标签页中。另外,您应该将DockStyle设置为Fill。这应该是诀窍。