0

実行時にコンテンツ (コントロール) を変更する必要がある一連のタブ ページがあります。ページは、コンボ ボックス、テキスト ボックス、およびラベルで構成される場合があり、タブ全体を 1 つのボタンに置​​き換えたいと考えています。私が読んだのは、これを行う方法は、ページ上のすべてのコントロールをループして可視性を設定するのではなく、タブページを削除することであり、まったく機能しないということです。次のコードがあります。

foreach (TabPage t in tabControl1.TabPages)
{
    tabControl1.Controls.Remove(t);
}

newPanelButton = new Button();
newPanelButton.Text = "0% Complete";
newPanelButton.Location = new Point(117, 75);
newPanelButton.Height = 80;
newPanelButton.Width = 200;

TabPage tabPage = new TabPage();
tabPage.Controls.Add(newPanelButton);

tabControl1.Controls.Add(tabPage);            

Refresh();

このコードは、あたかも存在しないかのように、まったく影響を与えません。既存のコントロールとページはまったく変更されません。私は何が欠けていますか?

4

2 に答える 2

0

TabControl.TabPages プロパティを使用して、タブ コントロールからページを削除/追加する必要があります。

コードは次のようにする必要があります(私はあちこちで短縮しました):

tabControl1.TabPages.Clear();

var newPanelButton = new Button() {
    Text = "0% Complete",
    Location = new Point(117, 75),
    Height = 80,
    Width = 200
};

var tabPage = new TabPage();
tabPage.Controls.Add(newPanelButton);

tabControl1.TabPages.Add(tabPage);         
于 2012-09-27T12:24:38.507 に答える
0

tabControl1.Controls.Add(tabPage);

する必要があります

tabControl1.TabPages.Add(tabPage);

于 2012-09-27T12:07:37.207 に答える