none
反転表示されたテキストがあるテキストボックスの取得 RRS feed

  • 質問

  • VB2010を利用しています。

    同一フォームに複数のテキストボックスがあり、それぞれ文字列(文章)が入っています。

    いずれかのテキストボックスの特定の文字列(単語)を反転表示させたときに、反転表示された単語を取得したいのです。

    ところが、例えば、ActiveControl.Name でフォーカスの当たっているコントロールを取得しようとボタンを設置したら、そのボタンにフォーカスが当たってしまい、肝心のテキストボックスの反転された文字列が取得できません。

    どのコントロール(テキストボックス)かが取得できれば、反転された単語については、textBox.selectionStart で取得できるのですが。。

    アドバイスよろしくお願いいたします。


    doratch

    2013年2月6日 17:01

回答

  • フォーカスが当たらないボタンを作成し、それを利用する方法があります。
    以下のページ掲載されているコードを書き、一度コンパイルするとそのボタンがツールボックスに追加されますから、あとはそれを利用するだけです。

    NOT Focusable / NOT Selectable Button
    http://arsalantamiz.blogspot.jp/2009/01/not-focusable-not-selectable-button.html


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク doratch 2013年2月7日 2:44
    • 回答としてマークされていない doratch 2013年2月7日 2:45
    • 回答としてマーク doratch 2013年2月7日 2:46
    2013年2月7日 0:17
    モデレータ

すべての返信

  • 最後にフォーカスが当たったテキストボックスを記憶しておけばいいんじゃないですかね。

    テキストボックスの Enter イベントとか Leave イベントのハンドラー内でうまくやりくりしてみてください。

    2013年2月6日 18:11
  • フォーカスが当たらないボタンを作成し、それを利用する方法があります。
    以下のページ掲載されているコードを書き、一度コンパイルするとそのボタンがツールボックスに追加されますから、あとはそれを利用するだけです。

    NOT Focusable / NOT Selectable Button
    http://arsalantamiz.blogspot.jp/2009/01/not-focusable-not-selectable-button.html


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク doratch 2013年2月7日 2:44
    • 回答としてマークされていない doratch 2013年2月7日 2:45
    • 回答としてマーク doratch 2013年2月7日 2:46
    2013年2月7日 0:17
    モデレータ
  • なるほど、これはスマートな方法です。

    おかげさまで実装できました。

    ありがとうございました。


    doratch

    2013年2月7日 2:45
  • うまくやりくりする、ということを失念していました。

    確かにこのようにすればいけますね。

    ありがとうございました。


    doratch

    2013年2月7日 2:47