Windowsフォームのラベルコントロールでテキストの一部を強調表示/選択することはできますか?私はRTFtextboxコントロールで可能であることを知っていますが、ラベルのインスタンスをたくさん作成する必要があるので、そのコントロールを使用すると過度の操作になります。Windowsのフォームラベルでテキストを選択することはできますか?
答えて
Windowsのフォームラベルでテキストを選択することはできますか? - いいえ(Label.Paintメソッドをオーバーライドしないと少なくとも簡単な方法はありません)
この目的でTextBoxを簡単に変更できます。
TextBox1.Text = "Hello, Select Me";
TextBox1.ReadOnly = true;
TextBox1.BorderStyle = 0;
TextBox1.BackColor = this.BackColor;
TextBox1.TabStop = false;
信じられませんか?ここにあなたのための例があります。 バラR同様
問題は、テキストボックスのテキストをダイナミックに設定している場合、ラベルとは異なり、テキストボックスよりも広いテキストを非表示にすることです。 –
@ TheMuffinManあなたは«WordWrap»プロパティを«true»に設定する必要があります。 –
必要に応じて、Multiline = Trueを設定してTextBoxの高さを変更することもできます。 –
いいえ、Windowsフォームラベルでテキストを選択することはできません。代わりに、これには読み取り専用テキストボックスを使用できます。
は、コンテナのものと一致するtrue
と背景色のへNone
とReadonly
セットにTextBox
BorderStyle
とのセットを使用してください。
ラベルのテキストの一部をハイライト表示することはできません。ただし、イメージを使用し、これらのラベルのテキストが静的な場合は、Label.Imageプロパティに設定できます。
実際には実装するのが難しく、テキストも動的です。その理由の一部を強調する必要があります。 – tunafish24
は答えた:
は「BorderStyleをなしに設定し、読み取り専用の容器のものと一致し 真と背景色のに設定してテキストボックスを使用してください。」。
テキスト文字列は非常に長く、TextBox
のWidth
は、すべてのテキストを表示するのに十分でない場合は、それがテキストだすべてを表示するTextBox
のWidth
プロパティを設定することができます。
Width
の正しい番号を知る必要がある場合は、MeasureString
の方法をGraphics
とすることができます。インスタンスはCreateGraphics()
Control
(この場合はTextBox
)のメソッドから取得できます。
最初のパラメータはTextBoxのTextで、2番目のパラメータはTextBoxのFontです。この関数はSizeF
構造体を返します。 Widthプロパティだけが必要です。(int)size.Width
または(int)Math.Round(size.Width)
で整数に変換してください。
グラフィックスインスタンスのDispose()
メソッドを後で呼び出すことを忘れないでください。これは、もはや必要ではないためです。
static void SetText(TextBox textBox, string str)
{
Graphics graphics = textBox.CreateGraphics();
SizeF size = graphics.MeasureString(str, textBox.Font);
graphics.Dispose();
textBox.Width = (int)Math.Round(size.Width);
textBox.Text = str;
}
このコードで高さのサイズを固定する固定幅のテキストボックスがある場合は、この質問を参照してください。https://stackoverflow.com/questions/29299297/measure-text-height-wrapped-in-a-指定された幅 – QuickDanger
- 1. コンソールでテキストの選択をキャンセルすることはできますか?
- 2. ipadでiscrollでテキストを選択することはできますか?
- 3. タグの選択からデータベースにテキストを送ることはできますか
- 4. 匿名型を選択することはできますか?
- 5. JavaScriptで選択ボックスを開くことはできますか?
- 6. vimヘルプファイルを使用すると、ビジュアルワード選択でピリオドのあるテキストを選択できますか?
- 7. テキストフィールドにcusorを保持し、テキストを選択することもできます
- 8. は、Emacsでくすぶる列をクリックしてテキストを選択することができますか?
- 9. 角度素材の選択オプションでテキストを入力することはできますか?
- 10. 崇高なテキスト3では、doファイルの選択をStataに送ることはできますか?
- 11. HTMLとJavaScriptで選択フィールドをプロキシすることはできますか?
- 12. は、選択ボックスを無効にすることはできますが、同様のコードで最初の子を選択することはできません
- 13. JavaScriptでテキスト選択をマウスでシミュレートできますか?
- 14. ドロップダウンリストのテキストをテキストに設定または選択:ここをクリックまたは他のテキストを選択
- 15. phpでxhtmlのコメントを選択することはできますか?
- 16. 付属のモデルでフィールドを選択することはできますか?
- 17. UI以外のオートメーション要素を含むウィンドウの選択テキストを取得することはできますか?
- 18. フォーカス/クリック時にiphoneデバイスの入力テキストをすべて選択することはできますか?
- 19. 複数の行を入力としてテキスト選択を行うことができるVBAで '入力ボックス'を作成することはできますか?
- 20. CSS3でテキスト選択色をアニメーション化できますか?
- 21. Windowsフォームラベルに表示されないのはなぜですか?
- 22. UIDatePicker:デフォルト値を選択することはできません
- 23. Androidレイアウトフォルダをプログラムで選択することはできますか?
- 24. カスタム列車で選択列を設定することはできますか?
- 25. jqueryでスタイル要素を選択することはできますか?
- 26. ** previous ** UITableviewで行を選択することはできますか?
- 27. 選択事例で式を使用することはできますか
- 28. テキストの前にない要素を選択することはできますか?
- 29. DataGridViewComboBoxColumnで項目をプログラムで選択することはできませんか?
- 30. Coqで選択的に書き換えることはできますか?
は、あなたが「選択」とはどういう意味ですか:
あなたはすべて、この処理を行いますあなた自身の関数を書くことができますか?このテキストを後で使用するには、コードで選択することを意味しますか? – GianT971
申し訳ありません@ジョン...選択して、私はテキスト選択を意味します。 RichTextBoxでは、 "SelectedText"などのプロパティを使用して、テキスト全体の一部を選択/強調表示することができます。このエフェクトはマウスで手動でテキストを選択/強調するのと似ています。 – tunafish24
ちょっとしたアイデア:ラベルから派生したクラスを作成して、選択するテキストの開始インデックスと終了インデックスを保存してから、onPaintイベントをオーバーライドしてテキストを半透明の四角形で描画することができます。 – Marco