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

タブページのサイズについて

環境/言語:[C#、.NET Frameworkのバージョン(2.0)]
分類:[.NET]

C#でフォームにtabControlを張っているのですが、
tabpageは、外部ファイルから取得しているので、
何文字で何枚分あるのかは分かりません。
文字数にあわせて、tabpageの大きさを調整したいのですが、
tabpageのサイズを変更出来ません。
tabControl.itemSizeでは、全てのtabpageにサイズが反映されてしまいます。
それぞれのtabpage毎にサイズを変えたいのです。
tabControlのaddする前にtabpage.sizeを設定していっても、何故か反応されません。
どのようにすれば、tabpageのサイズを変更出来るのでしょうか?
よろしくお願いします。
TabPageと文字数の関係がよくわかりません。
なぜなら、TabPageはコンテナだからです。
なのでサイズを変えたいということから結果がイメージできないのですが
TabControlの外観の大きさが変わるということであれば
その仕様に従ったユーザーコントロールを独自に作ることになるのではと思います。
アドバイスありがとうございます。
あれから色々と見たのですが、どうしていいのか?分からない状態です。
コンテナという意味が良く分からなかったので、調べてみたのですが、
・複数のコントロールをまとめて管理する箱のようなものである
・他のコンポーネントを含むことができるオブジェクト
・オブジェクトの集まり
このような感じで書いていました。
結局、うーん、という感じでピンときていない状態です。
コンテナだとなぜ、タブページのサイズを変更する事が出来ないのでしょうか?
質問ばかりですみませんが、よろしくお願いします。
ちなみにプログラムはこうような感じです。
---------------------------------------------
TabControl tabControl = new TabControl();
TabPage tabPage = new TabPage();
tabPage.Text = "外部ファイルからの名前";
tabPage.Size = new Size(10, 10);//サイズを変更しても反映されない
tabControl.TabPages.Add(tabPage);
---------------------------------------------
本当に基礎的な話ですみませんが、よろしくお願いします。
TabControl.ItemSizeは、「タブ」の部分のサイズを設定します。
TabPage.Sizeは、タブコントロールに格納されたコンテナ部分(他のコントロールを配置する箇所)のサイズです。
なので、両者は別の意味を持ちます。また、TabPageはTabControlに格納されており、Sizeプロパティの変更は不可となっています。

今回はおそらく「タブ」のサイズを変更するのが目的と読みました。なのでTabControl.ItemSizeを使います。
が、最初の投稿にある通り、個別にサイズを指定することができません。

ただ、文字数にあわせてサイズを調節するのが目的ならば、TabControl.SizeMode = TabSizeMode.Normalではダメなんでしょうか。
これがデフォルトの設定なので、何か不都合があるんでしょうけども。
両端に余裕を持たせたいならばTabControl.Paddingプロパティでなんとかなるんですが。

直接の解決方法じゃなくてすみません。参考までに。

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