※ ChatGPTを利用し、要約された質問です(原文:[C#] OpenFileDialogによって得られた'Filenam)
[C#] OpenFileDialogによって得られた'Filename'を、文字列にする方法
このQ&Aのポイント
OpenFileDialogを使用してファイル名を取得する方法について質問します。GetFileNameクラスを作成し、その中でOpenFileDialogを使ってファイルを選択させます。選択されたファイル名はStringBuilderに格納され、呼び出し元のForm1クラスで表示されます。しかし、GetFileNameクラスの中でStringBuilderにファイル名を代入するときにエラーが発生してしまいます。どのようにすれば、正しくファイル名を取得できるでしょうか。
質問の内容は、C#のOpenFileDialogを使ってファイル名を取得する方法についてです。GetFileNameクラスを作成し、その中でOpenFileDialogを使用してファイルを選択させます。選択されたファイル名はStringBuilderに格納されますが、エラーが発生し、ファイル名を正しく取得することができません。正しい方法を教えてください。
C#のOpenFileDialogを使ってファイル名を取得する方法について質問です。GetFileNameクラスを作成し、その中でOpenFileDialogを使用してファイルを選択させています。選択されたファイル名はStringBuilderに格納されますが、ファイル名を代入する部分でエラーが発生してしまいます。どのようにすれば、エラーを解消し、ファイル名を正しく取得できるでしょうか。
[C#] OpenFileDialogによって得られた'Filenam
[C#] OpenFileDialogによって得られた'Filename'を、Sting型にするには?
OpenFileDialogの処理をクラスにまとめて、そこから得られた文字列を返したいと思います。
---------------------------------------------------
class GetFileName
{
public void OpenFileDialog(StringBuilder name)
{
//OpenFileDialogクラスのインスタンスを作成
OpenFileDialog ofd = new OpenFileDialog();
ofd.FileName = "sd.zip";
ofd.InitialDirectory = @"C:\";
ofd.Filter =
"ZIP Failes(*.zip;*.zi_)|*.zip;*.zi_|All Files(*.*)|*.*";
ofd.FilterIndex = 1;
//タイトルを設定する
ofd.Title = "Please select the opening file.";
ofd.RestoreDirectory = true;
ofd.CheckFileExists = true;
ofd.CheckPathExists = true;
//ダイアログを表示する
if (ofd.ShowDialog() == DialogResult.OK)
{
//OKボタンがクリックされたとき
//選択されたファイル名を表示する
Console.WriteLine(ofd.FileName);
name = ofd.FileName; <<<--- ここでエラーになる
}
}
}
//呼び出し元
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//
// ボタン
//
private void buttonDec_Click(object sender, EventArgs e)
{
StringBuilder fname = new StringBuilder(256);
GetFileName gf;
gf = new GetFileName(); //インスタンス化
gf.OpenFileDialog(fname);
Console.WriteLine(fname); //
}
}
どのようにすれば、得られた文字列を戻すことが出来ますか。
以上、よろしくお願いします。
お礼
ありがとうございます。 希望道理、値を取得できました。