我正在做一个 ERP 项目。它是 treeView 框上的一个按钮,当它单击 treeView 中的按钮时,它必须创建一个带有其内容的选项卡(之前定义设计的内容)。
我可以以编程方式添加选项卡,但如何设计其内容?
我正在做一个 ERP 项目。它是 treeView 框上的一个按钮,当它单击 treeView 中的按钮时,它必须创建一个带有其内容的选项卡(之前定义设计的内容)。
我可以以编程方式添加选项卡,但如何设计其内容?
将此添加到树视图的单击事件中应该可以满足您的要求:
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
在您的项目中,添加一个UserControl
名为 ContentControl 的新名称(或您需要的任何内容,在我的示例中使用它),并用您希望出现在选项卡中的所有内容填充它。
您有几个解决方案,最简单的一种是创建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
,您将在类的构造函数中设置控件。然后,当您要添加 new 时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);
向项目添加一个新的用户控件,然后使用设计器进行控件/布局,然后当您单击时,您所做的就是将用户控件的新实例添加到选项卡 - 可能停靠以填充选项卡,除非您的表单大小是固定的.