「□行目を表示します」の□に数字を入れ、
「button1」を押すとその行数目の文字列を取得するもの。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
private void Form1_Load(object sender, EventArgs e) { textBox1.Text = "1.りんご" + Environment.NewLine + "2.すいか" + Environment.NewLine + "3.みかん" + Environment.NewLine + "4.いちご" + Environment.NewLine + "5.れもん"; } private void button1_Click(object sender, EventArgs e) { string s = textBox2.Text; int i = Convert.ToInt32(s); string Line = textBox1.Lines[i - 1]; MessageBox.Show(Line); } |
■1~8行目
ロード時の処理です。果物の名前とか5行入れてますが別に何でもいいです。
■12~13行目
「textbox2」の中に入力した文字列(string型)を
数字(int型に)変換する処理です。
■15~16行目
「textbox.Lines[(ここに数字)]」で行数の指定が出来るので、
[i-1]としてあげることで入力した数字と同じ行数の文字列が取得できます。
※要素数は「0」から数えるので「-1」してあげる必要があります。
正しい入力だけをする場合なら上で書いたもので問題ないと思います。
でも空白だったり、指定した数が実際の行数より多かったりした場合も
考える必要がありますね。それを加えたのが以下になります。
※ホントは数字かの判定も必要なんですがよく理解できませんでした、、、
分かったら追記しようと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
private void Form1_Load(object sender, EventArgs e) { textBox1.Text = "1.りんご" + Environment.NewLine + "2.すいか" + Environment.NewLine + "3.みかん" + Environment.NewLine + "4.いちご" + Environment.NewLine + "5.れもん"; } private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(textBox2.Text)) { MessageBox.Show("テキストボックスが空です。"); } else { string s = textBox2.Text; int i = Convert.ToInt32(s); if (textBox1.Lines.Length >= i && i >= 1) { string Line = textBox1.Lines[i - 1]; MessageBox.Show(Line); } else { MessageBox.Show("指定された行数が存在しません。", "ERROR!"); } } } |
コメントを残す