OpenFileDialogで開けない

タグの編集
投稿者 まだまだ  (中学生) 投稿日時 2009/3/1 20:56:41
こんにちは!
今回は初投稿ですが、よろしくお願いします!

OpenFileDialogとButtonとRichTextBoxを使って
txtファイルの内容を表示させたくてプログラムを書いたのですが、
ファイルのパスしか表示できません。
どうしたら中身を表示できるのかを教えていただけませんか?
できればプログラムのソースもお願いします。

バージョンは2008です。
↓は私が書いたプログラムです。

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
            TextBox1.Text = OpenFileDialog1.FileName

        End If
    End Sub
End Class
投稿者 るきお  (社会人) 投稿日時 2009/3/1 21:35:54
こんにちは。
OpenFileDialogやSaveFileDialogなどはユーザーが指定したファイルの名前・パスを取得することができるだけで、そのファイルの内容を読み込むなどの機能はありません。

指定されたファイルに対して何をするかは別にプログラムする必要があります。

さいわいテキストファイルの中身を表示するだけであれば1行でできるので簡単です。
これにはSystem.IO名前空間のFileクラスのReadAllTextメソッドを使用します。
このメソッドは引数にファイルのフルパスを指定する必要があるので、そこにOpenFileDialogから取得できるFileNameを指定すると簡潔に書けます。

 
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
            TextBox1.Text = IO.File.ReadAllText(OpenFileDialog1.FileName)
        End If
    End Sub

End Class


これで文字化けするようであれば第2引数でエンコーディングを指定します。問題があるようでしたらまた質問してください。
投稿者 まだまだ  (中学生) 投稿日時 2009/3/1 23:37:26
素早い返答ありがとうございます。
さっそく試してみると、
しっかりファイルが開けました!
ありがとうございます!
投稿者 neptune  (社会人) 投稿日時 2009/3/2 03:19:14
こんにちは

RichTextBoxですよね?
それ専用のメソッドがありますからそれを使った方が何かと良いのでは?

'pPathは開きたいファイルのフルパスを格納したstring型の変数 
'RichTextBoxStreamTypeは必要なものに変更が必要 
RichTextBox1.LoadFile(pPath, RichTextBoxStreamType.RichText)


ちなみにMSDNに以下のようなページがあるので、そういうのを見ると、大概やりたい事は
書いてますので、利用しましょう。
「RichTextBox コントロール (Windows フォーム) 」
投稿者 まだまだ  (中学生) 投稿日時 2009/3/5 00:01:24
ほんとですね。
MSDNにあるんですね。
僕はいつも検索するときは、
Googleを使って調べているのですが、
今度からそちらも使ってみたいと思います。
ありがとうございました。