我正在做一个ERP项目。它是treeView框上的一个按钮,当它点击treeView中的一个按钮时,它必须创建一个带有其内容的标签(内容是之前定义的-设计的)。
我可以通过编程添加选项卡,但是如何设计它的内容呢?
发布于 2012-10-29 23:07:20
将新的用户控件添加到项目中,然后使用设计器进行控件/布局,然后当您单击时,您所做的就是将用户控件的新实例添加到选项卡中-可能停靠以填充选项卡,除非您的窗体的大小是固定的。
发布于 2012-10-29 23:19:30
将其添加到treeview的click事件中应该会完成您想要的操作:
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 (或者您需要的任何内容,只需在我的示例中使用它),并用您希望在选项卡中显示的所有内容填充它。
发布于 2012-10-29 23:21:01
您有几个解决方案,最简单的一个是创建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 help),然后创建UserControl的一个实例,创建一个TabPage,并在TabPage上添加UserControl。然后将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);https://stackoverflow.com/questions/13124217
复制相似问题