![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_08.png?e8efa67)
[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); //
}
}
どのようにすれば、得られた文字列を戻すことが出来ますか。
以上、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
StringBuilderはStringの入れ物みたいな役割なので、
「中身」を入れ替えるような処置にします。
//現在の文字列を除去する
name.Remove(0, name.ToString().Length);
//ファイルのパス名を追加する
name.Append(ofd.FileName);
No.1
- 回答日時:
そりゃそうでしょう。
StringBuilder型の変数にstring型のデータを代入しているんだから。http://msdn.microsoft.com/en-us/library/system.w …
#個人的にはオブジェクトを渡すよりもreturnで戻り値を受け取る方が好き。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
a href="..." とServlet
-
C#にて別クラスの関数を使いたい
-
C#のクラスライブラリでメッセ...
-
関数内の変数に<summary>コメン...
-
[C#] OpenFileDialogによって得...
-
C#でほかのファイルにある自作...
-
構造 他のクラスの構造体を別...
-
c++,ある関数のクラスから別の...
-
クラス間でのデータ参照
-
内部クラスのインスタンスを外...
-
例えば、以下のようなクラスでm...
-
ひとつのファイルにクラスは1つ?
-
Tomcatのpropertiesファイルの...
-
内部クラスのスコープについて。
-
範囲外の数値を代入したらエラ...
-
Java インスタンス作成のイベ...
-
Java
-
無名パッケージからのインポート
-
「タイプ初期化子が例外をスロ...
-
エクセルVBAで、条件に一致する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラス間でのデータ参照
-
関数内の変数に<summary>コメン...
-
c++,ある関数のクラスから別の...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
無名パッケージからのインポート
-
java-別クラスの変数の使い方を...
-
SwingでgetContentPaneのエラー...
-
C++でfriendクラスにしているの...
-
C#でほかのファイルにある自作...
-
Java リフレクションについて
-
Java
-
import と extends について
-
C#のクラスライブラリでメッセ...
-
a href="..." とServlet
-
ひとつのファイルにクラスは1つ?
-
構造 他のクラスの構造体を別...
-
親クラスから子クラスへアクセス。
-
内部クラスのインスタンスを外...
-
visual studioのデザイナ画面で...
おすすめ情報