ファイルダイアログ

ボタンをクリックすると、ダイアログが開いて、選んだファイルを読み込んで、
フォームのテキストボックスに代入する処理。

        private void button1_Click(object sender, EventArgs e)
        {
            DialogResult result;
            openFileDialog1.Filter = "txtファイル|*.txt|すべてのファイル|*.*";
            result = this.openFileDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                string file_name = openFileDialog1.FileName;
                StreamReader reader;
                try
                {
                    reader = new StreamReader(file_name, Encoding.GetEncoding("Shift_JIS"));
                    textBox1.Text = reader.ReadToEnd();
                    reader.Close();
                }
                catch
                {
                }
            }
        }

button1をクリックするとClickイベントが発生しますが、そのイベントが起きたときに、
ダイアログを開いて、Form1.Textに代入してます。
実際にファイルを読んでいるのは、StreamReaderですが、エラーが発生したときに
プログラムが止まらないように、TryCatchで囲んでいます。
WindowsMobileは内部は文字コードユニコードですが、ファイルテキストはシフトJISで作っているので、
Encoding.GetEncoding("Shift_JIS")という記述があります。
このへんは定番処理なので、コピペで記述すればいいので、細かいことは考えないでいいでしょう(^^;


逆にファイルを保存するときは、こんな感じでいいと思います。

                string file_name = "\\My Documents\\(以下フォルダ名も含めてファイル名を)";
                try
                {
                    StreamWriter writer = new StreamWriter(file_name,
                                           false,  // 上書き ( true = 追加 )
                                           Encoding.GetEncoding("Shift_JIS"));
                    try
                    {
                        writer.WriteLine(textBox1.Text);
                    }
                    finally
                    {
                        writer.Close();
                    }
                }
                catch
                {
                }

textBox1.Textの中身を保存しています。
ファイル書き込みでエラーが起きた場合も起きなかった場合も
ファイルクローズを必ずしたいので、CatchじゃなくてFinalyに記述しています。
もっともSreamWriter自体がエラーだった場合はクローズの意味が無いので、
そのときはCatchに処理が移ってCloseは動きません。
このへんの障害対策は慣れてないので冗長なことをしてるかも(w