VB2010、Winアプリ
こんにちわ。
フォーム上に存在するTextBoxやLabelコントロールに
ToolTipを表示させています。
ToolTipを表示させるための条件とかって設定出来ないんでしょうか?
その条件というのは
「TextBoxやLabelコントロールの幅以上のテキストが入力されている」
場合のみToolTipを表示させたいというものです。
思いついた方法としては
コントロールの幅と入力文字数を係数として格納しておき
MouseのHoverとかのイベント時に文字数チェックを行い
その判定により表示するかしないかを決定する、
というものぐらいしか自分には思いつきませんでした。
もっとスマートな方法があれば教えていただければと思います。
よろしくお願いします。。。
(TextBoxのWordWrapプロパティで折り返しを判断しているものを
見れれば楽にできるのかなぁなんて思ったりもしましたが
どう判断しているかわからなかったもので。。。)
No.1ベストアンサー
- 回答日時:
固定ピッチフォントなら文字数から計算できると思いますがプロポーショナルフォントの場合は文字数だけでは計算できないでしょう。
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
のようにすると良いと思います。
回答ありがとうございます。
丁寧にソースまで提示していただいて恐縮です。
目的の動作を実装する事が出来ました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) エクセルの条件付き書式 4 2023/04/17 11:05
- 教育学 エクセルで、複数条件を全て満たすと合格、満たさないと不合格、と表示されるようにするには? 3 2023/04/03 18:41
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/18 17:23
- Excel(エクセル) 見えているセルの数字だけの合計を計算させたい 4 2022/09/11 17:23
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Excel(エクセル) エクセルのマイナス表示 3 2022/03/28 16:35
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
変数の参照でエラーが出てしまいます。(VB.NET)
Visual Basic(VBA)
-
ツールチップをクリックイベントで出したい
Visual Basic(VBA)
-
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
ADOのCursorLocationプロパティ
-
DataGridViewで行の展開みたい...
-
チェックボックスの文字色の変え方
-
MFCでbitmapを背景にしてstatic...
-
VB6でLabelの最前面にText Box...
-
デザインモードを解除すると消...
-
エクセルの画像にツールチップ...
-
ACCESS2010 ActiveXコントロー...
-
ASP.NET : FormView内コントロ...
-
エクセル VBA ユーザーフォーム...
-
コンボボックスの高さを変更し...
-
カスタムコントロール作ってま...
-
2年目プログラマスキルレベル...
-
条件付き書式を設定しても、テ...
-
VC++のコンボボックスの各項目...
-
スタティックテキストとエディ...
-
Enabled=Falseのテキストボック...
-
VBからエクセルのテキストボ...
-
コンボボックスのセンタリング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
エクセルの画像にツールチップ...
-
ADOのCursorLocationプロパティ
-
DataGridViewで行の展開みたい...
-
コンボボックスの高さを変更し...
-
Wordテキストコントロールが未...
-
checkbox付きListViewで デフ...
-
VBからエクセルのテキストボ...
-
{ CONTROL Forms.Label.1}が...
-
C# TEXTが空白であるLABELは何...
-
MSFlexGrid
-
VB.NETで縦書表示をしたいので...
-
Enabled=Falseのテキストボック...
-
デザインモードを解除すると消...
-
ユーザーフォームに日付を表示...
-
チェックボックスの文字色の変え方
-
リストコントロールのデータの...
-
PictureBoxの背景色変更(VB.NET)
-
ACCESS2010 ActiveXコントロー...
-
VB6でLabelの最前面にText Box...
おすすめ情報