0

私はERPプロジェクトに取り組んでいます。これはtreeViewボックスのボタンであり、treeViewのボタンをクリックすると、そのコンテンツ(以前に定義されたコンテンツ)でタブを作成する必要があります。

プログラムでタブを追加できますが、そのコンテンツをどのようにデザインできますか?

4

3 に答える 3

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(または、私の例ではこれを使用するだけで、必要なものは何でも)、タブに表示するすべてのコンテンツを入力します。

于 2012-10-29T15:19:30.323 に答える
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);

2 番目の解決策は、クラスでオーバーライドTabPageすることです。たとえばCustomTabPage、クラスのコンストラクターでコントロールを設定する場所です。次に、新しい を追加する場合は、インスタンスをTabPage作成してに追加します。CustomTabPageTabControl

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);

3 番目の解決策 (最善ですが最も複雑) は、必要なUserControlものすべてを使用して目的のオブジェクトを作成し (Designer ヘルプを使用できます)、 のインスタンスをUserControl作成し、 を作成してTabPageに追加UserControlすることTabPageです。次に、に追加TabPageTabControlます。

 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);
于 2012-10-29T15:21:01.063 に答える
0

新しいユーザー コントロールをプロジェクトに追加し、デザイナーを使用してコントロール/レイアウトを実行します。クリックすると、ユーザー コントロールの新しいインスタンスがタブに追加されます。フォームのサイズが固定されていない限り、タブを埋めるためにドッキングされる可能性があります。 .

于 2012-10-29T15:07:19.557 に答える