C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 指定したファイルを開く


(過去ログ 33 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■16050 / inTopicNo.1)  指定したファイルを開く
  
□投稿者/ アゲハチョウ (10回)-(2008/03/27(Thu) 14:57:23)

分類:[.NET 全般] 

2008/03/27(Thu) 14:58:30 編集(投稿者)
2008/03/27(Thu) 14:58:26 編集(投稿者)

みなさん、こんにちは。

今回テキストボックスに表示したファイル名をボタンを押すことで開くというものをつくっているのですが、
開きません。僕のコードが間違っていないか見てください。デバッグ時にエラーは起こらないので良くわからないのです。

    private void button3_Click(object sender, EventArgs e)
{

string path = textBox1.Text;
System.IO.StreamReader textFile;

if(System.IO.File.Exists(path) ==false)
{
return;
}

textFile = System.IO.File.OpenText(path);
MessageBox.Show("ファイルを開きました。", "通知");

}
引用返信 編集キー/
■16051 / inTopicNo.2)  Re[1]: 指定したファイルを開く
□投稿者/ シャノン (343回)-(2008/03/27(Thu) 15:21:05)
No16050 (アゲハチョウ さん) に返信

「ファイルを開く」という言葉の意味をどういうものだと思っていますか?
C#で「テキストファイルを開く」のと、メモ帳で「テキストファイルを開く」のはまったく別です。
メモ帳では実際には、開いて、読み込んで、表示して、閉じるという作業をやってます。
アゲハチョウさんのコードには、読み込んで、表示して、閉じるコードが抜けています。
引用返信 編集キー/
■16053 / inTopicNo.3)  Re[1]: 指定したファイルを開く
□投稿者/ επιστημη (904回)-(2008/03/27(Thu) 15:25:41)
επιστημη さんの Web サイト
> if(System.IO.File.Exists(path) ==false)
> {
>   return;
> }
> 
> textFile = System.IO.File.OpenText(path);
> MessageBox.Show("ファイルを開きました。", "通知");
> }

ファイルが存在するからといって、必ずOpen成功するわけじゃないので、
存在確認の意義は薄いんじゃないかしら。

http://msdn2.microsoft.com/ja-jp/library/system.io.file.opentext.aspx
↑コレによるとオープンに失敗したらその理由が例外オブジェクトから知れるので、
お構いなしにOpenして例外を捕まえた方が確実ではないかと。

try {
  textFile = System.IO.File.OpenText(path);
  MessageBox.Show("ファイルを開きました。", "通知");
} catch (Exception ex) {
  テケトーなエラー処理
}
return;

引用返信 編集キー/
■16054 / inTopicNo.4)  Re[2]: 指定したファイルを開く
□投稿者/ επιστημη (905回)-(2008/03/27(Thu) 15:27:05)
επιστημη さんの Web サイト
> 「ファイルを開く」という言葉の意味をどういうものだと思っていますか?
> C#で「テキストファイルを開く」のと、メモ帳で「テキストファイルを開く」のはまったく別です。

あ、そゆ意味で「"ファイルを開く"が動かない」なのか。そかそか。

引用返信 編集キー/
■16055 / inTopicNo.5)  Re[2]: 指定したファイルを開く
□投稿者/ アゲハチョウ (11回)-(2008/03/27(Thu) 15:28:16)
private void button1_Click(object sender, EventArgs e)
{
DialogResult ret; //テキストボックスにファイルを表示

openFileDialog1.Title = "ファイルの選択";
openFileDialog1.CheckFileExists = true;
openFileDialog1.RestoreDirectory = true;

ret = openFileDialog1.ShowDialog();
if (ret == System.Windows.Forms.DialogResult.OK)
{
textBox1.Text = openFileDialog1.FileName;
}
else
{
textBox1.Text = "";
}

}


private void button3_Click(object sender, EventArgs e)//テキストボックスのファイルを開く
{

string path = textBox1.Text;
System.IO.StreamReader textFile;

if(System.IO.File.Exists(path) ==false)
{
return;
}

textFile = System.IO.File.OpenText(path);
MessageBox.Show("ファイルを開きました。", "通知");

textFile.Close();
}

引用返信 編集キー/
■16092 / inTopicNo.6)  Re[3]: 指定したファイルを開く
□投稿者/ Azulean (41回)-(2008/03/27(Thu) 22:38:48)
まず、何をやりたいかを明確にして下さい。


・画面に表示したい。(別のテキストボックス等)
・メモ帳等の関連づけられたアプリケーションを起動して開かれた状態にしたい

現状はファイルをオープンして、閉じているだけでプログラム上に変化を与えるコードがありません。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -