• ベストアンサー

C#での行

J_Hの回答

  • J_H
  • ベストアンサー率57% (11/19)
回答No.2

TextBox tb; string [] tbText = new string [tb.Lines.Length]; tbText = tb.Lines; とすると、tbText[ (行番号) ] から取得できます。 今回取得したいのは2行目なので、tbText[1] です。

参考URL:
http://msdn.microsoft.com/library/ja/cpref/html/frlrfsystemwindowsformstextboxbaseclasslinestopic.asp?frame=true
knoppixer
質問者

お礼

ありがとうございます。 こういうのを覚えていき、思ったとおりに プログラミングできるように頑張ります。

関連するQ&A

  • 【C#】textBoxの指定行のデータを削除

    凄く基本的なことかもしれないのですが色々検索しても見つからなかったので質問させてください。 Visual C# 2010を使っています。 textBoxのMultiLineをtrueにして複数行書けるようにしています。 そこで、プログラム上で指定の行を削除したり書き換えたりする方法を知りたいです。 指定の行のデータを取得する方法はわかったのですが、応用できませんでした。 MessageBox.Show(textBox1.Lines[0].ToString()); で、1行目のデータをMessageBoxで表示できました。 なので、以下のように書けば削除できるかと思いましたがダメでした。 textBox1.Lines[0] = ""; もしくは textBox1.Lines[0].Remove(0); 目的は、以下のような複数行のデータがあった場合に指定の行を消すといったことです。 1234 5678 9012 で、例えば、2行目を消して 1234 9012 としたいです。 textBox1.Text = textBox1.Text.Replace(textBox1.Lines[0], ""); とやって置き換えることはできるのですが、同じデータがある場合に全て置き換わってしまうのと、改行が残ってしまうので微妙です。 よろしくお願いします。

  • VB2008

    VB初心者です、よろしくお願いいたします。 現在、VB2008を使い、顧客名簿を作成しています。 前回の質問で、テキストファイルのファイル名だけを取得する方法は分かったのですが、そのファイルの内容をテキストボックスに表示する方法がうまくいきません。 ファイルの内容は 1行目→名前 2行目→メールアドレス 3行目→郵便番号 4行目→住所 5行目→購入した商品 をそれぞれ、textbox1~5に表示させたいと思っています。 書籍などで調べた結果 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim totalcount As Integer Dim oneline As String Dim sr As System.IO.StreamReader sr = New System.IO.StreamReader("C:hogehoge\" & ComboBox1.Text & ".txt") oneline = sr.ReadLine() sr.Close() Dim skipline As Integer Dim r As Random = New Random() skipline = r.Next(totalcount) sr = New System.IO.StreamReader("C:hogehoge\" & ComboBox1.Text & ".txt") Dim i As Integer = 0 Do While i < skipline sr.ReadLine() i += 1 Loop oneline = sr.ReadLine() sr.Close() TextBox1.Text = oneline TextBox2.Text = (skipline + 1).ToString() End Sub このような記述になりました。 textbox1には問題なく名前が表示されますが、textbox2には"1"と表示されてしまいます。 すみませんが、修正箇所を教えていただけませんか? よろしくお願いいたします。

  • C#のテキストファイル読み込みについて

    C#のテキストファイル読み込みについて 2次元配列を使います(a[行][列]みたいに テキストファイルを1文字ずつ読み込みます。 そして、改行文字が見つかると行を1つずらします それを繰り返して最後まで読みこむと終わり そんなことをしたいです DOBON.NETでこんなの見つけたんですが 上の処理をしようと思っても、どこをいじればできるのかわかりませんでした //"C:\test.txt"をShift-JISコードとして開く System.IO.StreamReader sr = new System.IO.StreamReader( @"C:\test.txt", System.Text.Encoding.GetEncoding("shift_jis")); //内容を一行ずつ読み込む while (sr.Peek() > -1) { Console.WriteLine(sr.ReadLine()); } //閉じる sr.Close(); よくわかるサイトとかあったら教えてください、お願いします

  • 複数のtextBoxに読み込んだデータを表示する。

    初めまして。 Visual C++ 2008 Express Edition を使って勉強しています。 今下記のように、1行を読み込んでその都度textBoxに表示していくようにしています。 String ^ b = br->ReadLine(); textBox1->Text = b; b = br->ReadLine(); textBox2->Text = b; b = br->ReadLine(); textBox3->Text = b; b = br->ReadLine(); textBox4->Text = b; b = br->ReadLine(); textBox5->Text = b; これをもっと、簡潔に記述できないでしょうか? String ^ b; for(i=1; i<6; i++){ b = br->ReadLine(); textBox(i)->Text = b; } という気持ちになるのですが。。。どうしたら良いでしょうか? よろしくお願いいたします。

  • ”System::IO::StreamReader”ってどういう意味ですか?

    Visual C++ 2008 Express Editionで、現在、600kバイト程度のバイナリファイルを読み込んで特定の番地のデータだけを取り出してそれをテキスト変換してテキストボックス内に表示させるというプログラムを作成しているのですが、このことをOKwaveでどのようにコーディングするかを教えてもらったところ、 System::IO::StreamReader^ sr=gcnew StreamReader(_T("sample.txt")); このような文を教えてもらったのですが、全く知識がなく何をやっているのかわかりません。 ”sr”というのは変数で、sample.txtからstreamReader関数でsample.txt内のデータをsr変数に 入れているという感じがしますが、”System::IO::StreamReader”とか”gcnew”とかの意味がよくわかりません。 どうかご教授お願いいたします。

  • バイナリファイルのデータから特定の番地のHEXデータを18バイトとって表示方法すると文字化けする。

    現在、Visual C++ 2008 Express Editionでバイナリファイルを読み込んで、このファイルの0x1F65番地から18バイトを取得して、それをテキスト変換してテキストボックスに表示したいプログラムを作成しています。 バイナリデータをテキストデータに変換するプログラムを教えていただいて、それができたので、今度はもう少し長い18バイトを取得して、テキスト変換してテキストボックスに表示させようとしたのですが、バイナリデータとは違うデータが表示されるようになってしまいました。 どうしてこうなるのか原因がわからない状態です。 どなたか原因がわかるかたいらっしゃいませんでしょうか。どのように修正すれば良いかご教授お願いいたします。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { //指定したファイル名でStreamReaderを設定する try{ System::IO::StreamReader^ sr = gcnew System::IO::StreamReader("sample.bin"); //受け皿 array<wchar_t>^ buf=gcnew array<wchar_t>(18); //先頭から0x1f65バイト動かす sr->BaseStream->Seek(0x1f65,System::IO::SeekOrigin::Begin); //18バイト読み込む sr->Read(buf, 0, buf->Length); //此処でテキストボックスに入れる this->textBox1->Text= this->ToHEXString(buf); } catch(System::Exception^ ex){ System::Windows::Forms::MessageBox::Show(ex->ToString()); } //this->textBox1->Text = L"変更1"; this->textBox2->Text = L"変更2"; this->textBox3->Text = L"変更3"; }

  • c#でcsvから指定の1行だけを読み込む方法

    以前c言語で同じような質問をして、とても有益な回答を頂きましたが、 今回c#でのコードの書き方をご教示いただければと思い、再度質問致します。 例えば以下のようなcsvファイルがあったとします。 ab1,ef2,ab3,af4,ab5 bb1,bf2,bb3,bf4 cb1,cf2,cb3,cf4,cb5 zb1,zf2,zb3,zf4,zb5 プログラムに"cb3"という文字列を探させて、その文字列を含む一行 "cb1,cf2,cb3,cf4,cb5"のみを読み込む方法を探しております。 現時点では以下のコードにてcsvファイルを丸々読み込んでおります。 private void LoadData()//csvファイルを読み込む { string path = "abc.csv"; string delimStr = ",";//区切り文字 char[] delimiter = delimStr.ToCharArray();//区切り文字をまとめる string[] strData;//分解後の変数 string strLine; //1行分のデータ Boolean fileExists = System.IO.File.Exists(path); if (fileExists) { System.IO.StreamReader sr = new System.IO.StreamReader( path, System.Text.Encoding.Default ); while (sr.Peek() >= 0) { strLine = sr.ReadLine(); strData = CsvToArrayList1(strLine)[0]; abc.abctable.AddabctableRow ( strData[0], int.Parse(strData[1]) ); } sr.Close(); } c言語の時はstrstrで特定の文字を含む1行のみを取得できたのですが、 c#ではもっと良い方法があるのではと考えております、 お時間がありましたら是非教えてください。 皆様の丁寧な回答にいつも感謝しております。

  • Visual C++ 2008 Express Edition が使えなくなった。

    Visual C++ 2008 Express Editionを開いたら、「Visual C++ 2008 Express Edition 製品の登録」と出てきて使うことが出来ません。 「今すぐ登録」をクリックして、Windows Live ID は取得したのですが、登録キーの取得が出来ません。Windows Live IDでMicrosoftサイトにサインインしても、画面中程の読み込みが終わらなくて、何もできませんでした。どうしたらVisual C++ 2008 Express Editionが使えるようになるでしょうか?

  • ファイル読み取り(C#)

    C#でテキストファイルを開くとき System.IO.StreamReader dates = newSystem.IO.StreamReader("dates.txt"); としてもファイルが見つからなくてエラーが出るんですが、どうしてでしょう? ファイル名をフルパス名にしても同じです。

  • "System::Windows::Forms::TextBox"これはどうゆう機能かを調べることはできる?

    "Visual C++ 2008 Express Edition"を使い始めてまだ日が浅く、勉強が足りないのですが、 ”System::Windows::Forms::TextBox” このような記述の意味が全く分からないのですが、これの機能とかを調べるにはどうしたらよいのでしょうか?