【最大10000ポイント】当たる!!質問投稿キャンペーン!

フォーム上の複数のコントロールにツールチップを設定して、あるコントロールが選択された場合、
それ以外のコントロールのEnableをfalseにする処理を追加したのですが、その後1つだけ残ったコントロールの
ツールチップが表示されなくなってしまいます。

ツールチップを設定したコントロールが複数Enableである場合はきちんと表示されているのですが・・・

開発環境はC#、Visual Studio.net 2003です。
よろしくお願いします。

A 回答 (1件)

コントロールIDが重複してるのでは?

この回答への補足

コントロールIDとは、プロパティの(Name)と同義と解釈してよいのでしょうか?
それでしたらすべて異なる名前にしているのですが・・・

補足日時:2006/09/07 15:47
    • good
    • 0
この回答へのお礼

お礼が遅くなりました。
Windows XPの外観にするApplication.EnableVisualStyles()のバグだったようです。
コメント化したらうまくいきました。

お礼日時:2006/09/22 00:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVB.NET ToolTipの表示条件について

VB2010、Winアプリ

こんにちわ。

フォーム上に存在するTextBoxやLabelコントロールに
ToolTipを表示させています。

ToolTipを表示させるための条件とかって設定出来ないんでしょうか?

その条件というのは
「TextBoxやLabelコントロールの幅以上のテキストが入力されている」
場合のみToolTipを表示させたいというものです。

思いついた方法としては
コントロールの幅と入力文字数を係数として格納しておき
MouseのHoverとかのイベント時に文字数チェックを行い
その判定により表示するかしないかを決定する、
というものぐらいしか自分には思いつきませんでした。

もっとスマートな方法があれば教えていただければと思います。
よろしくお願いします。。。


(TextBoxのWordWrapプロパティで折り返しを判断しているものを
見れれば楽にできるのかなぁなんて思ったりもしましたが
どう判断しているかわからなかったもので。。。)

Aベストアンサー

固定ピッチフォントなら文字数から計算できると思いますがプロポーショナルフォントの場合は文字数だけでは計算できないでしょう。

TextRender.MesureText を使用するのが比較的簡単ではないかと思います。

MouseHover イベントなり TextChanged イベントなりで

Dim s As Size = TextRenderer.MeasureText(TextBox1.Text, TextBox1.Font)
If TextBox1.Width < s.Width Then
ToolTip1.SetToolTip(TextBox1, TextBox1.Text)
Else
ToolTip1.SetToolTip(TextBox1, "")
End If

のようにすると良いと思います。

QC#についてText Boxの枠

C#のTextboxの水色の枠って見えなくする事出来ませんか?
画面上アナウンスのような形で表示させたいのですが、枠が邪魔で
ここに隠れてますよって丸わかりなので。
消す方法は無くても、こうすれば枠は見えなくなるって方法知ってる方よろしくお願いします。

Aベストアンサー

見当違いの答えだったらすみません

>C#のTextboxの水色の枠
Textboxのプロパティの
BoderStyleのFixed3dのことでしょうか?
ここをnoneにして、BackColorkの色をFormのカラーと同じにすれば
隠せると思います。


人気Q&Aランキング