DOBON.NET DOBON.NETプログラミング掲示板過去ログ

TabControlの横幅について

環境/言語:[vb2010]
分類:[.NET]

現在、TabControlの2つのTabを、横幅を均等なサイズに広げ
Tabcontrolの横いっぱいのサイズの二つのTabを表示したいと思っています。

VB6では、SStabのTabsPerRowを2にすることで、この内容が可能ですが
vb.netでは方法がわかりません。

ご教示願います。
  • 題名: Re[1]: TabControlの横幅について
  • 著者: 魔界の仮面弁士
  • 日時: 2011/11/22 16:35:38
  • ID: 29388
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No29387に返信(みそしるさんの記事)
> VB6では、SStabのTabsPerRowを2にすることで、この内容が可能ですが
> vb.netでは方法がわかりません。
Microsoft の純正パーツなのは、TabStrip コントロールの方ですね。

SSTab コントロールの[バージョン情報]ダイアログを見ると、それが
Sheidan Software Systems 社の OEM 製品であることが分かります。


ゆえに .NET においても、SSTab の後継製品を導入することで、同じような
見た目を実現することができるかもしれません(未確認)。

同社はその後、ProtoView Development 社と統合して Infragistics 社と
なっており、後継製品としは下記のパッケージが該当するようです。
http://jp.infragistics.com/dotnet/netadvantage/winforms.aspx

実際に製品を使ったことは無いのですが、ヘルプには「TabsPerRowプロパティ」の名も見えます。
http://help.jp.infragistics.com/Help/NetAdvantage/Win/2010.2/CLR2.0/html/Infragistics2.Win.UltraWinTabControl.v10.2~Infragistics.Win.UltraWinTabControl.UltraTabStripControl_members.html
http://help.jp.infragistics.com/Help/NetAdvantage/Win/2010.2/CLR2.0/html/Infragistics2.Win.UltraWinTabControl.v10.2~Infragistics.Win.UltraWinTabControl.UltraTabControl_members.html

以下、参考情報として。
http://dobon.net/vb/bbs/log3-8/4630.html



> vb.netでは方法がわかりません。
> ご教示願います。
もしもサードパーティ製品に頼りたくないのであれば、それに相当する機能を
自分で作りこむ必要がありそうです。

タブそのものは、System.Windows.Forms.VisualStyles.VisualStyleRenderer クラスに
System.Windows.Forms.VisualStyles.VisualStyleElement.Tab クラスのメンバーを渡して
描画する方法があります。(あるいは System.Windows.Forms.TabRenderer とか)
■No29387に返信(みそしるさんの記事)

こんなんでよければ出来ます。
TabControl1.SizeMode = TabSizeMode.Fixed
TabControl1.ItemSize = New Size((TabControl1.Width - 3) \ 2, TabControl1.ItemSize.Height)
※-3はスクロールバーが出ない程度にして下さい。
魔界の仮面弁士さん お返事ありがとうございます。

SSTabについては詳しく知らなかったため、参考になりました。


shuさん       お返事ありがとうございます。

プログラム内で修正する方法もありますね。



お二人の意見を参考にし、プログラムを作成しようと思います。

魔界の仮面弁士さん、shuさん ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板