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

TabControlのEnabledとTooltipに疑問

環境/言語:[vista,VS2010Express]
分類:[.NET]

TabControlについて疑問点が2つあるのですが
Q1 Enabled=falseにしてもタブ題名表示がグレー化されない.
Q2 ツールチップヒントがタブの題名上で表示されない.結果的にタブにテキスト
ボックスなどをFullにDockさせているとほとんど表示されない.

これはこういうものなんでしょうか.
改善の余地があったら教えてください.
■No27333に返信(JKさんの記事)
> TabControlについて疑問点が2つあるのですが
> Q1 Enabled=falseにしてもタブ題名表示がグレー化されない.

これは、TabPage 見出し部分の見た目だけを問題視していますか?
それとも、非活性化されている TabPage 自体選択させたくないという意味でしょうか?

前者なら、オーナードローで対応できます。
どこかの掲示板でも見かけた記憶があるので、検索すればすぐ見つかるかと思います。

後者は拡張コントロール化を検討しないと、ちょっと面倒かもしれません。
(最悪 WndProc メソッドをオーバーライドする荒療治は可能だと思います)

> Q2 ツールチップヒントがタブの題名上で表示されない.結果的にタブにテキスト
> ボックスなどをFullにDockさせているとほとんど表示されない.

結果的にとはどういう意味でしょうか?
その前に "表示されない" と明記されていますので、
TextBox が Dock = Full; になっていても関係ないのではないでしょうか?

# "Tab に TextBox を Docking" というのも状況がチョットわからないですけど... (普通にはできないですので)
回答ありがとうございます.

Q1についてはTabPage 見出し部分の見た目だけをグレーにできないか,の意です.
他のコントロールはみなそうなるのになにか自分のやり方が間違っているのかと
思いまして.
検索して僕の実力で対応可能でしたら試してみます.今はとりあえずvisible=falseで済ましてます.

>Tab に TextBox を Docking" というのも状況がチョットわからないですけど...

TabcontrolをおくとTabpage1,Tabpage2とできますよね.
たとえばTabpage1を選んでそこにTextBoxをおくとTextBoxのほうに
DockプロパティができるのでFullに設定する,というつもりでした.
タブページに,と書けばよかったですかね.

>TextBox が Dock = Full; になっていても関係ないのではないでしょうか?

Fullでなければタブページとテキストボックスのあいだにスペースが作れますよね.
そのスペース上にカーソルが行くとちゃんとToolTipがでるわけです.
Fullだとそのスペースが1mmくらいの幅しかないので結果的にToolTipがめったに
表示されない,というつもりでした.
TabPage 見出し部分にカーソルがきたときに出てくれないのではしょうがないので
なんか設定法があるのかな,と思ったわけです.
> TabPage 見出し部分にカーソルがきたときに出てくれないのではしょうがないので
TabPage クラスには ToolTipText プロパティがあり、TabControl の ShowToolTips を True にすることでそのタブヘッダ上にマウスカーソルがホバーしたときに表示されるようになりますが。
// うちの Vista な環境だと VisualStyle 有効じゃないとツールチップが表示されないなー。
>ToolTipText プロパティがあり、TabControl の ShowToolTips を True にする
ありがとうございます.できました.そういうシステムだったとは.
色々検索したのですが入手できなかった情報でした.
表示もされないToolTipTextプロパティに何の意味があるのか,変だと思ってはいたのですが.

タブ見出しのオーナードローについては本サイトにも載ってました.
>TabControlのタブを自分で描画する
http://dobon.net/vb/dotnet/control/tabownerdraw.html
解決済み!
> 色々検索したのですが入手できなかった情報でした.
> 表示もされないToolTipTextプロパティに何の意味があるのか,変だと思ってはいたのですが.
え、ヘルプ/MSDN の TabPage.ToolTipText の解説にはっきり書かれていることなんですが。
色々検索するのはまずヘルプを確認してからでも遅くはないかと。(標準では)F1 キー一発ですし。
ですね. お手間掛けました.
解決済み!

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