0

このようなユーザーエントリ

textbox1.text = 01/02/03/......

このように3つのテキストボックスに値を分けて表示したい

"/"次の行に移動する必要がある後

txt1.text =  01
    txt2.text = 02
   txt3.text =  03
    ....

これを行う方法。

Vb.net コードのヘルプが必要

4

3 に答える 3

3

オプション1

常に 3 つのテキスト ボックスである場合は、次のように各テキスト ボックスに静的コードを記述できます。

'EDIT: This code now checks for the existence of a second or third value to avoid
'out of bounds errors
Dim originalValue As String = "01/02/03"
Dim splitBySlash As String() = originalValue.Split("/")

txt1.Text = splitBySlash(0)
If splitBySlash.Length > 1 Then txt2.Text = splitBySlash(1)
If splitBySlash.Length > 2 Then txt3.Text = splitBySlash(2)

オプション 2

スラッシュに基づいて可変数のテキスト ボックスがある場合は、実行時にそれらを作成し、次のように親コントロールに追加する必要があります。

'You can enter as many (or few) slashes as you like in this code, it will automatically
'adjust the text boxes created as necessary.
Dim originalValue As String = "01/02/03" 'could go on like /04/05/etc
Dim splitBySlash As String() = originalValue.Split("/")

For Each value As String In splitBySlash
    Dim newTxt As New TextBox()
    newTxt.Text = value

    yourParentControl.Controls.Add(newTxt)
Next
于 2012-10-14T09:43:45.157 に答える
1

これを試して:

string rockString =  "01/02/03/";
string[] words = rockString.Split('/');
foreach (string word in words)
    {
      Console.WriteLine(word);
     }

コメントで質問するように

別のテキストボックスに

textbox1.text = words[0]; //textbox1.text="01";
    textbox2.text = words[2]; //textbox2.text="02";
    textbox3.text = words[3]; //textbox3.text="03";

同じテキストボックスに

 textbox1.text = words[0]+words[1]+words[2];
于 2012-10-14T09:20:22.030 に答える
0

String.Splitまたは Regex.Splitを使用してみてください

Dim value As String = "01//02//03//" 
Dim lines As String() = Regex.Split(value, "//") 
For Each line As String In lines    
Console.WriteLine(line) 
Next
于 2012-10-14T09:21:27.500 に答える