2

わかりました、ここで少し具体的なことをしようとしています。テキストボックスで選択したテキストの位置を取得したい。

詳しく説明すると、場所を使用してテキストを選択できます。textBox1 がある場合、次のことができます。

textBox1.SelectionStart = 1;
textBox1.SelectionLength = 4;

これは 2 番目の文字から始まり、4 文字を選択します。

私がやりたいことは反対です: ユーザーがテキストを選択したときに、開始点と長さ (または開始点と終了点。どちらも機能します) を調べたいと思います。

選択したテキスト (textBox1.SelectedText) の文字列を検索することだけを考えました。問題は、それが一般的な単語または複数回使用される文字列である場合です。例えば。

これは猫です。これは猫です。これは猫です。

彼らが 2 番目の文を選択した場合、SelectedText を使用してその特定の文の文字列を検索しても役に立ちません。3のいずれかになります。

だから、私の質問は次のとおりです。ユーザーがボタンをクリックしたときに、ユーザーが選択した正確な要素をどのように判断して、後でそれらの特定の要素を操作できるようにしますか? 後の部分に注意することが重要です-ボタンが押されたときにテキストを操作したいだけではありません。また、テキストが強調表示されなくなったときに、後で操作したいと思います。これは、私が扱っている文の特定の部分を教えてくれる SOMETHING を保存したいということです。その解決策が実行可能でない場合、上記の「これは猫です」の例で、ユーザーが 2 番目の文を選択してボタンを押すと、後でどの文が選択されたかがわかります。彼がそのボタンを押したとき?

4

2 に答える 2

7

documentationによると、SelectionStart設定SelectionLengthと読み取りの両方が可能です。それらを使用するだけです。

于 2013-03-28T21:36:58.010 に答える
2

それらを操作するために選択したテキストの位置を知る必要さえありません。テキストで選択したテキストを編集するには、SelectedTextプロパティを新しい編集値に簡単に設定できます。

// if textBox1.text = "Hello World World"; with first "World" selected
textBox1.SelectedText = textBox1.SelectedText.Replace("World", "Raj");
// then it becomes "Hello Raj World" 
于 2013-03-28T21:41:23.967 に答える