|
分類:[VB.NET/VB2005 以降]
vb2005を使っています。
リストボックスで選択した項目のテキストをそのままテキストボックスに表示させたいのですが、 例えばテキストボックス(MultilineはTrueです)に「hello」とあって、oのすぐ右にフォーカスがあります。 ここに今リストボックスで「A」を選択すると helloA と表示させ、さらに「B」を選択すると(今Aのところにフォーカスがある) helloAB と表示させたいのです。で、 Private Sub ListBox1_SelectedIndexChanged(以下略 TextBox1.AppendText(ListBox1.SelectedItem) End Sub だと確かに挿入できるのですが、ついでになぜか改行もされてしまいます。つまり
helloA(←ここにフォーカスを表示させておきたいのに、) (←ここにフォーカスが来る)
これだけならまあいいのですが、ここからフォーカスをAのすぐ後ろにもどして「B」を選択すると
helloA(←ここにBを表示させたいのに、) B(←ここに来る) (←さらにここにフォーカスが来る)
となってしまいます。 いろいろ試した結果、どうやら今のままではリストから選択した時は どこにフォーカスがあってもそのテキストボックスの最終行に必ず挿入されるみたいです。 絶対にフォーカスのすぐ後ろに挿入させるようにするにはどうすればよいでしょうか。 できれば挿入した後に改行もしないでほしいです。
|