- PR -

textBoxへの文字列の挿入

投稿者投稿内容
龍虎(たつとら)
会議室デビュー日: 2005/06/01
投稿数: 7
投稿日時: 2005-06-01 15:32
環境:
winXP Home SP2
VB.NET 2003

質問:
複数行textBoxへの文字列の挿入何ですが現在
textBox× &= ×××
としているのですが、これだと当たり前ですが最後の行の
一番最後に挿入したい文字が挿入されます。
これを
「××××|▼▼▼」で'|'(カーソル)の位置に文字を挿入できるようにしたいのですが
どのような方法があるのか教えてください。
わがままですが、出来るだけ簡単な方法で。
お願いします。
もし、説明不足でしたら申し訳ございませんが、
どのような情報を載せたらいいのか教えてください。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-06-01 15:46
引用:

textBox× &= ×××


.Text プロパティに対して Append ですよね。

引用:

「××××|▼▼▼」で'|'(カーソル)の位置に文字を挿入できるようにしたいのですが
どのような方法があるのか教えてください。
わがままですが、出来るだけ簡単な方法で。


簡単な方法?
TextBox1.Text = _
  TextBox1.Text.Substring(0, 挿入したい位置) & _
  "挿入したい文字" & _
  TextBox1.Text.Substring(挿入した位置 + 1)

ただし、激遅。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
117
ベテラン
会議室デビュー日: 2005/05/09
投稿数: 94
お住まい・勤務地: 大阪府
投稿日時: 2005-06-01 15:51
SelectionStartプロパティを使ってみては?

#未確認で申し訳ない

[追記]
かぶったorz
カーソル位置を得るのに上記のプロパティを使い、文字列編集は御随意にという意図です
_______________________
Future Is What We Are!

[ メッセージ編集済み 編集者: 117 編集日時 2005-06-01 15:56 ]
龍虎(たつとら)
会議室デビュー日: 2005/06/01
投稿数: 7
投稿日時: 2005-06-01 16:00
お早いご返答ありがとうございます
引用:

簡単な方法?
TextBox1.Text = _
  TextBox1.Text.Substring(0, 挿入したい位置) & _
  "挿入したい文字" & _
  TextBox1.Text.Substring(挿入した位置 + 1)

ただし、激遅。


いろいろ検索してこの方法を見つけたのですが
挿入したい位置=カーソル位置
の取得方法がわからず(難しくて理解できず)
困っていました。
引用:

SelectionStartプロパティを使ってみては?


まったくの初心者な発言ですが
使い方(?)がよくわからないので詳しく教えてもらえませんでしょうか?

VB6でもろくに勉強もせず、
今までこのようなプログラムにも手を出さずにでしたので。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-06-01 16:04
引用:

まったくの初心者な発言ですが
使い方(?)がよくわからないので詳しく教えてもらえませんでしょうか?
VB6でもろくに勉強もせず、
今までこのようなプログラムにも手を出さずにでしたので。



説明 (カレット位置の取得)

  テキストの選択開始点を取得または設定する



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
龍虎(たつとら)
会議室デビュー日: 2005/06/01
投稿数: 7
投稿日時: 2005-06-01 16:26
ありがとうございます
早速やってみます
龍虎(たつとら)
会議室デビュー日: 2005/06/01
投稿数: 7
投稿日時: 2005-06-02 17:25
Dim calet As Integer = TextBox1.SelectionStart
TextBox1.Text = TextBox5.Text.Substring(0, calet)
TextBox1.Text &= "▼▼▼" & TextBox5.Text.Substring(calet)
TextBox1.Focus()
TextBox1.SelectionStart = TextBox5.MaxLength

と記述してみると
一行だけだと希望通りできるのですが
複数行になると(2行以上)
後ろの部分がすべて消えてしまいます改善方法を教えてください

ちなみにこの動作はButtanを押すと文字を挿入して
文字列の最後尾にカーソルを移動させるというプログラムです
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2005-06-02 17:37
VisualStudioを使っているならデバッガという機能を使ってみてください。
処理の途中で止めたり、その時の変数の内容を確認したりできます。
龍虎さんの助けになると思います。

スキルアップ/キャリアアップ(JOB@IT)