7.TextBox で行毎テキストの操作色々(23_Txt_07) (旧、SampleNo.046) |
1.TextBox の行数を取得する 2.TextBox のデータを行毎に取得する 3.TextBox の指定行のテキストを取得する 4.TextBox の指定行のテキストを書き換える 5.TextBox の指定行に1行テキストを追加する 6.TextBox の指定行を削除する |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.TextBox の行数を取得する |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '1.TextBox の行数を取得する。 MessageBox.Show(TextBox1.Lines.Length.ToString) End Sub |
2.TextBox のデータを行毎に取得する |
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '2.TextBox のデータを行毎に取得する。 For Each txt As String In TextBox1.Lines Debug.Print(txt) Next End Sub |
3.TextBox の指定行のテキストを取得する |
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '3.TextBox の指定行のテキストを取得する。 MessageBox.Show("3行目のデータ = " & TextBox1.Lines(2)) End Sub |
4.TextBox の指定行のテキストを書き換える |
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click '4.TextBox の指定行のテキストを書き換える。 Dim txtLines As String() = TextBox1.Lines txtLines(2) = "3 行目を書き換えました。" TextBox1.Lines = txtLines End Sub |
5.TextBox の指定行に1行テキストを追加する |
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click '5.TextBox の指定行に1行テキストを追加する。 Dim txtLines As String() = TextBox1.Lines txtLines(2) = "3行目に1行追加しました" & vbCrLf & TextBox1.Lines(2) TextBox1.Lines = txtLines End Sub |
6.TextBox の指定行を削除する |
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click '6.TextBox の指定行を削除する。 Dim txtLines As String() = TextBox1.Lines txtLines(2) = "" '3行目のテキストを削除 TextBox1.Lines = txtLines ' '3行目のデータは、先頭に vbCrLf がはいっているのでその部分を選択 TextBox1.Select(TextBox1.GetFirstCharIndexFromLine(2), 2) '選択されている vbCrLf を "" と置き換える(vbCrLf を 削除) TextBox1.SelectedText = "" '又は、 '3行目の先頭から4行目の先頭までを選択して、"" と置き換える(範囲をかえれば何行でも) 'こちらの方が色々簡単に応用ができそうです。 Dim sLine As Integer = 2 '削除開始行 Dim eLine As Integer = 3 '削除終了行 TextBox1.Select(TextBox1.GetFirstCharIndexFromLine(sLine), _ TextBox1.GetFirstCharIndexFromLine(eLine) - TextBox1.GetFirstCharIndexFromLine(sLine)) TextBox1.SelectedText = "" End Sub |
検索キーワード及びサンプルコードの別名(機能名) |
テキストボックス テキストボックス |