我正在研究ERP项目。它是treeView框上的一个按钮,当它点击treeView中的一个按钮时,它必须创建一个带有内容的标签(内容是之前定义的设计)。
我可以通过编程方式添加标签但是如何设计其内容?
答案 0 :(得分:2)
将此添加到树视图的点击事件中应该可以完成您的操作:
var contentControl = new ContentControl (); //This is what we will put all your content in
contentControl.Dock = DockStyle.Fill;
var page = new TabPage("Tab Text"); //the title of your new tab
page.Controls.Add(contentControl); //add the content to the tab
TabControl1.TabPages.Add(page); //add the tab to the tabControl
在您的项目中,添加一个名为ContentControl的新UserControl
(或您需要的任何内容,仅在我的示例中使用此内容),并在其中填入您希望在标签中显示的所有内容。
答案 1 :(得分:1)
您的解决方案很少,最简单的方法是创建TabPage
,创建所需的控件,设置其属性(即大小,位置,文本等),将它们添加到TabPage
然后将TabPage
添加到TabControl
。
TabPage tp = new TabPage();
//create controls and set their properties
Button btn1 = new Button();
btn1.Location = new Point(10,10);
btn1.Size = new System.Drawing.Size(30,15);
//add control to the TabPage
tp.Controls.Add(btn1);
//add TabPage to the TabControl
tabControl1.TabPages.Add(tp);
第二个解决方案是覆盖您的类中的TabPage
,例如CustomTabPage
,您将在该类的构造函数中设置控件。然后,当您想要添加新的TabPage
时,请创建CustomTabPage
个实例并将其添加到TabControl
。
public class CustomTabPage : TabPage
{
public CustomTabPage()
{
//create your Controls and setup their properties
Button btn1 = new Button();
btn1.Location = new Point(20, 20);
btn1.Size = new System.Drawing.Size(40, 20);
//add controls to the CustomTabPage
this.Controls.Add(btn1);
}
}
//Create CustomTabPage
CustomTabPage ctp = new CustomTabPage();
tabControl1.TabPages.Add(ctp);
第三个解决方案(最好但最复杂的)是创建所需的UserControl
,其中包含您想要的所有内容(您可以使用Designer帮助),然后创建UserControl
的实例,创建TabPage
并在UserControl
上添加TabPage
。然后将TabPage
添加到TabControl
。
public partial class CustomControlForTabPage : UserControl
{
public CustomControlForTabPage()
{
InitializeComponent();
}
}
//Create CustomControl
TabPage tp = new TabPage();
CustomControlForTabPage ccftp = new CustomControlForTabPage();
//set properties you like for your custom control
tp.Controls.Add(ccftp);
tabControl1.TabPages.Add(ctp);
答案 2 :(得分:0)
向项目添加一个新的用户控件,然后使用设计器进行控件/布局,然后当您单击所有时,您将向选项卡添加一个新的用户控件实例 - 可能停靠以填充选项卡,除非您的表单是大小是固定的。