38

I have created a Windows form using a Tab Control, but it has a header with it. I want to hide it. I am not able to do it using any properties of the Tab Control. Is there any property defined for hiding the tab header for the Tab Control without going through the code?

4

5 に答える 5

125

次のコードを使用して、タブを非表示にするか、デザインでこれらのプロパティを設定します。

    tabControl.Appearance = TabAppearance.FlatButtons;
    tabControl.ItemSize = new Size(0, 1);
    tabControl.SizeMode = TabSizeMode.Fixed;
于 2012-04-27T07:29:12.297 に答える
4

ユーザーがタブパネルを切り替える機能を持たないタブパネルが必要なので、一度に1つずつユーザーに表示するコントロールのいくつかの個別のセットを作成したいと思います。これはいくつかの方法で実現できます (自分の場合に適している場合は、そのうちの 1 つを選択できます)。

  • Panelで複数のタブではなく複数のコントロールを使用しますTabControl。ただし、すべてのコントロールが表示されるため、デザイナで作業するのは困難です。
  • Formタブの代わりに異なる を使用して、レイアウト パーツを分離します。それは問題ありませんが、複数の を使用したくない場合があるFormため、特定のケースに依存します。

そして最後に、提案された解決策

  • コントロールの各セットを にカプセル化しますUserControl。これにより、各レイアウトを個別に保持できるため、他のコントロールが邪魔になることなく、それぞれを簡単に設計できます;)。各レイアウトを処理するコードも分離されます。次に、これらのコントロールをフォームにドラッグし、必要なコントロールを表示するように適切に設定します。

これらの提案がどれもうまくいかない場合は、私にお知らせください。他の可能な解決策を探すことができます。

于 2012-04-26T18:57:30.890 に答える
-1

思ったより簡単で、パネルのウィンドウを上にドラッグするだけなので、フォームの外になります。

于 2015-12-16T08:32:00.860 に答える
-2

同じ (または同様の) ことを達成する別の方法は次のとおりです。TabControl.TabPages コレクションからタブを削除してから、表示するタブを追加できます。

フォームの初期化中にタブを削除し(デザイナーで簡単に管理できるように)、一部のコントロールイベント(ボタンクリックなど)で、ユーザーに表示する必要があるタブを表示します。

そんな感じ:

// During form load:
ctrTab.TabPages.Clear();

// ...... 

// During button click or some other event:
if(rbSend.Checked)
    ctrTab.TabPages.Add(pgSend);
else
    ctrTab.TabPages.Add(pgReceive);

このようにして、ユーザーは引き続きヘッダー タブを表示できますが、コントロール グループのタイトルと同様に、現在アクティブなタブを変更/切り替えることはできません。

于 2016-03-11T14:56:27.627 に答える