私は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
プロジェクトに、ContentControl という名前の新しいものを追加しUserControl
(または、私の例ではこれを使用するだけで、必要なものは何でも)、タブに表示するすべてのコンテンツを入力します。
解決策はほとんどありません。最も簡単な方法は、 を作成し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
作成してに追加します。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);
3 番目の解決策 (最善ですが最も複雑) は、必要な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);
新しいユーザー コントロールをプロジェクトに追加し、デザイナーを使用してコントロール/レイアウトを実行します。クリックすると、ユーザー コントロールの新しいインスタンスがタブに追加されます。フォームのサイズが固定されていない限り、タブを埋めるためにドッキングされる可能性があります。 .