5

TabPage を TabControl から隠したい。

私はこの方法を試しました:

MyTabControls.TabPages[1].Hide();

隠れません。

だから私はそれを削除して、必要なときに再作成する必要があることを検索して見ました: How to hide TabPage from TabControl

この場合、Hide関数は一体何をしているのでしょうか?

スクリーンショット:

ここに画像の説明を入力

4

5 に答える 5

11

残念ながら、あなたが望むようにすることはできません。その効果が必要な場合は、タブを追加して削除し、再度追加する必要があります。

この種の構文を使用してみてください。

theTabControl.TabPages.Remove(tabPageA);

次に、再度追加します。

theTabControl.TabPages.Add(tabPageA);

Hide() - コントロールを非表示にすることは、Visible プロパティを false に設定することと同じです。Hide メソッドが呼び出された後、Show メソッドが呼び出されるまで、Visible プロパティは false の値を返します。

使用する理由-個人的にはShow()常に.Hide()VisibleVisible

この場合の動作- この場合は役に立たず、何もしませんVisible()と同様に、以下が適用されます。

「TabPage コントロールはコンテナーによって制約されるため、コントロール基本クラスから継承された一部のプロパティ (Top、Height、Left、Width、Show、Hide など) は効果がありません。」

于 2013-03-20T08:32:47.250 に答える
10

その理由はMSDNに次のように記載されています

TabPageコントロールはコンテナによって制約されるため、Control基本クラスから継承されたプロパティの一部(Top、Height、Left、Width、Show、Hideなど)は効果がありません。

TabControlのタブは、TabControlの一部ですが、個々のTabPageコントロールの一部ではありません。ForeColorプロパティなどのTabPageクラスのメンバーは、タブページのクライアント長方形にのみ影響し、タブには影響しません。さらに、TabPageのHideメソッドはタブを非表示にしません。タブを非表示にするには、TabControl.TabPagesコレクションからTabPageコントロールを削除する必要があります。

于 2013-03-20T09:05:03.640 に答える
0

このちょっとしたトリックを試してください。

デザイナーでタブ コントロールを作成し、フォームのコンストラクターで次のように設定します。

 this.tabReportSelection.ItemSize = new System.Drawing.Size(0, 1);
 this.tabReportInformation.Appearance = System.Windows.Forms.TabAppearance.Buttons;
 this.tabReportInformation.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;

次に、フォーム コードのどこかで、次を使用して必要な TabPage を表示します。

 tabReportSelection.SelectTab("tabPageName");

それは私にとってかなりうまくいきます。

于 2013-10-21T23:48:42.547 に答える