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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
ツールチップをクリックイベントで出したい
Visual Basic(VBA)
-
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
-
4
VB.net 任意の例外を発生させるには・・・
Visual Basic(VBA)
-
5
CloseとDisposeの違い
Visual Basic(VBA)
-
6
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
7
asp.netでToolTipコントロールを使いたい
Microsoft ASP
-
8
C# ReadOnlyのTextBoxで
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
ACCESS2010 ActiveXコントロー...
-
コンボボックスの高さを変更し...
-
DataGridViewで行の展開みたい...
-
MSHFlexGrid および MSFlexGrid...
-
Enabled=Falseのテキストボック...
-
ユーザーフォームに日付を表示...
-
VB.NETで縦書表示をしたいので...
-
エクセルの画像にツールチップ...
-
VBからエクセルのテキストボ...
-
ASP.NET : FormView内コントロ...
-
C# TEXTが空白であるLABELは何...
-
TreeViewでToolTipTextを表示し...
-
DataGridViewTextBoxColumnを継...
-
ADOのCursorLocationプロパティ
-
C# のテキストボックスデザイン...
-
エクセルデータをVB2008のMSCha...
-
vaSpreadコントロールのスクロ...
-
チェックボックスの文字色の変え方
-
ListViewで1つを選択して詳細...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
ADOのCursorLocationプロパティ
-
Wordテキストコントロールが未...
-
エクセルの画像にツールチップ...
-
ACCESS2010 ActiveXコントロー...
-
ユーザーフォームに日付を表示...
-
コンボボックスの高さを変更し...
-
C# TEXTが空白であるLABELは何...
-
VB.NETで縦書表示をしたいので...
-
VBからエクセルのテキストボ...
-
エクセル入力規制リスト行数
-
DataGridViewで行の展開みたい...
-
チェックボックスの文字色の変え方
-
デザインモードを解除すると消...
-
VB6でLabelの最前面にText Box...
-
Enabled=Falseのテキストボック...
-
C# アプリ終了時に設定を記憶...
-
PictureBoxの背景色変更(VB.NET)
-
checkbox付きListViewで デフ...
-
VC++のエディットボックスの非表示
おすすめ情報