(C#)フォルダを指定するダイアログの中身が表示されない

このQ&Aのポイント
  • フォルダを参照するダイアログの中身が表示されなくて困っています。プログラムの中身を記載しましたが、うまく表示されません。
  • 同じ問題を抱える人はいるものの、解決策が見つかりません。プログラミング初心者のため、見落としている点があるかもしれません。
  • どなたか解決策をご存知の方がいましたら、教えていただきたいです。
回答を見る
  • ベストアンサー

(C#)フォルダを指定するダイアログの中身が表示されない

只今フォルダを参照してそこにファイルを保存するプログラムを作っているのですが フォルダを参照するダイアログの中身が表示されなくて困っています... プログラムの中身はこちら↓ ================================= FolderBrowserDialog fd = new FolderBrowserDialog(); if (fd.ShowDialog() == DialogResult.OK){ Console.WriteLine(fd.SelectedPath); } ================================= 調べてみたのですが、同じような方は見つけても 何をどうしたら解決した、というところまで書かれておらず どうしたらちゃんと表示されるのかわかりませんでした。 プログラミング初心者ですので、見落としている箇所など 原因として考えられるものが見つけられません 何か足りないのでしょうか? わかる方がいましたらお願いします。

  • tasoh
  • お礼率87% (65/74)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 こんばんは。  http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=43408&forum=7  ではないでしょうか。

tasoh
質問者

お礼

早速の回答ありがとうございます。 参照URLに載っていた方法を試したところ即解決しました! [STAThread] static void Main() { } 上の[STAThread] を記述するだけでよかったんですね。ありがとうございます。 この[STAThread] などという記述、実はまだあまり把握していなくて 恥ずかしながらなぜ解決したのかよくわかりません・・・ 詳しく説明されているところを探してはいるのですが・・ きちんと調べて理解していきたいと思います。 ありがとうございました。

関連するQ&A

  • 言語[C#]..フォルダ選択ダイアログで、フォルダ選択のための階層が表示されない

    C#を使い、フォルダ選択のダイアログを表示させたいと思っています。WEB上に公開されていた下記コードを使い、フォルダ選択のダイアログを表示できました。 ただ、ダイアログが表示されたのはよいのですが、ダイアログ内に表示されるはずの、フォルダ選択のための階層部分が表示されません。この現象についてご存知の方、助言を頂きたくお願い致します。 また、C#は一昨日から使い初めたばかりです。初歩的なミスであった時は、どうぞお許し下さい。 フォルダ選択ダイアログの表示コード ------------------------------------------------ FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.Description = "読み込むフォルダを指定してください" ; if (fbd.ShowDialog() == DialogResult.OK) { txtInputFolder.Text = fbd.SelectedPath ; } ------------------------------------------------

  • VBで選択したフォルダにフォルダをコピーしたい

    VBで、選択したフォルダに、中身の入ったフォルダを上書きしてコピーするプログラムを作りたいと思い、フォルダを選択し、選択したフォルダをラベルに表示させるというところまではできました。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim fbd As New FolderBrowserDialog fbd.Description = "フォルダを指定してください。" fbd.RootFolder = Environment.SpecialFolder.Desktop fbd.SelectedPath = "C:\Windows" fbd.ShowNewFolderButton = True If fbd.ShowDialog(Me) = DialogResult.OK Then Console.WriteLine(fbd.SelectedPath) Label3.Text = fbd.SelectedPath End If End Sub ですが、ここから試行錯誤を繰り返してみるも、FolderBrowserDialogで選択したフォルダにフォルダを上書きすることができないのです。アドバイスよろしくお願いします。

  • VB.NRT FolderBrowserDialogを使用して、選択したフォルダ内のファイルを表示させるには?

    VB.NET初心者です。 ネットで調べてFolderBrowserDialogを使用して、フォルダを表示させ、フォルダのパスを取得するところまではできたのですが、フォルダの中のファイルを表示させるには、どうしたらよいのでしょうか? OpenFileDialogクラスを使えば、ファイルは表示できるようですが、ファイルの入っているフォルダのパスだけ取ってきたい(複数ファイルを一度に読みこむため)のですが、何か良い手はありませんでしょうか? また、FolderBrowserDialog使用で前回選択したフォルダを次にダイアログを開いたときにも表示させることは可能でしょうか? よろしくお願いいたします。 Dim fbd As FolderBrowserDialog = New FolderBrowserDialog() fbd.Description = "フォルダを指定してください。" If fbd.ShowDialog() = DialogResult.OK Then Console.WriteLine(fbd.SelectedPath) End If Dim folder As String = fbd.SelectedPath Dim serchpattern As String = "*.txt" Dim files As New ArrayList 'フォルダ名格納 Get_FPath(folder, serchpattern, files) End Sub

  • FolderBrowserDialogの使い方

    こんにちは!FolderBrowserDialogについてお教えいただけないでしょうか? 下記のコードを実行しました。 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'FolderBrowserDialogクラスのインスタンスを作成 Dim fbd As New FolderBrowserDialog '上部に表示する説明テキストを指定する fbd.Description = "フォルダを指定してください。" 'ルートフォルダを指定する 'デフォルトでDesktop fbd.RootFolder = Environment.SpecialFolder.Desktop '最初に選択するフォルダを指定する 'RootFolder以下にあるフォルダである必要がある fbd.SelectedPath = "C:\Windows" 'ユーザーが新しいフォルダを作成できるようにする 'デフォルトでTrue fbd.ShowNewFolderButton = True 'ダイアログを表示する If fbd.ShowDialog(Me) = DialogResult.OK Then '選択されたフォルダを表示する Console.WriteLine(fbd.SelectedPath) End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' デスクトップを選択すると、「C:\Users\owner\Desktop」、 Cドライブを選択すると、「C:\」となります。 フォルダを選択した後に、「abc.txt」という固定ファイルを出力させようと思っています。とりあえずは、文字列連結をしてフルパスを作成します。 選択したフォルダパスに「"\abc.txt"」と文字列連結すると、「C:\Users\owner\Desktop\abc.txt」になります。 これは、OKです。 しかし、「Cドライブ直下では、「C:\\abc.txt」となってしまい、円マークが2つできてしまいます。 これだと正しいパスにファイルを出力することができないと思います。 これを解決するには、つまり「C:\abc.txt」にするには、どのようにコードを書いたらいいでしょうか?FolderBrowserDialogは使うものと前提でお願い致します!

  • フォルダ設定について知りたいです。

    いきなりですが例です。 例(1): 'SaveFileDialogクラスのインスタンスを作成 Dim sfd As New SaveFileDialog() sfd.FileName = "新しいファイル.html" sfd.InitialDirectory = "C:\" sfd.Filter = _ "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*" sfd.FilterIndex = 2 'タイトルを設定する sfd.Title = "保存先のファイルを選択してください" sfd.RestoreDirectory = True sfd.OverwritePrompt = True sfd.CheckPathExists = True 'ダイアログを表示する If sfd.ShowDialog() = DialogResult.OK Then 'Copy System.IO.File.Copy("C:\test.txt", (sfd.Namefile), True) End If という具合に「名前を付けて保存」で指定先をコピーする様には 出来るんですが、これがフォルダの場合・・ 例2: 'FolderBrowserDialogクラスのインスタンスを作成 Dim fbd As New FolderBrowserDialog '上部に表示する説明テキストを指定する fbd.Description = "フォルダを指定してください。" 'ルートフォルダを指定する 'デフォルトでDesktop fbd.RootFolder = Environment.SpecialFolder.Desktop '最初に選択するフォルダを指定する 'RootFolder以下にあるフォルダである必要がある fbd.SelectedPath = "C:\Windows" 'ユーザーが新しいフォルダを作成できるようにする 'デフォルトでTrue fbd.ShowNewFolderButton = True 'ダイアログを表示する If fbd.ShowDialog(Me) = DialogResult.OK Then '選択されたフォルダを表示する System.IO.File.Copy("C:\test.txt", ???????, True) End If 上記の??????が分りません。 指定したフォルダ内にあるファイルを操作したいのですが、 (fbd.SelectedPath),"test.txt"でも怒られます。 どの様にしてソースを書けば良いでしょうか? ※回答はソースコードを必ず書き込んでください。

  • フォルダ選択のダイアログボックスについて

    おはようございます。 現在、VB.NETでフォルダ選択のダイアログを表示させたいと 思っているのですが以下の記述だとダイアログは表示されますが 選択したフォルダのパスを取得する方法がわかりませんでした。 この後にどんな記述をすれば取得できるのでしょうか? 宜しくお願いします。 Dim f As New BrowseFolder() Console.WriteLine(f.BrowseDialog("出力先フォルダを指定してください。", Me))

  • C#)フォルダを参照したい

    こんにちわ。 フォルダを参照してその中身をリストBOXに表示したいのですが、サンプルを見つけて実行したのですがいまいち理解できなかったのでアドバイスくださると助かります。 private void button1_Click(object sender, System.EventArgs e) { string systemFolder = Environment.GetFolderPath    (Environment.SpecialFolder.System); DirectoryInfo di = new DirectoryInfo(systemFolder); foreach(FileInfo fi in di.GetFiles()) { listBox1.Items.Add(fi.Name); } } これでボタン1をクリックするとsystemフォルダの内容がリストに表示されるのですが、そもそもどこのsystemフォルダなのか分かりません・・・。 ↑のプログラムが分からず別の方法でまずフォルダ参照ダイアログの FolderBrowserDialog を使おうと思ったのですが、ツールBOXに無いのでまた困りました。 どなたか分かる方いたらご指摘お願いします。

  • フォルダの中身を列挙する方法

    こんにちわ。 VB6.0でプログラムを作る練習をしているのですが、行き詰ったので質問させてください。 やりたいことは・・・ 1.指定したフォルダの中身のファイル名をテキストファイルだけリストBOXに表示。 2.それらテキストファイルの中身を昇順で連結して、新しいファイルを作る。 1はフォルダ参照ダイアログで、フォルダ名を取得。までは出来ました。 続きのフォルダの中身の参照部分がDir関数とforを使うのかな?と思い、MSDNライブラリを見たのですが、いまいちフォルダの中身を列挙する方法が分からないので教えてください。 よろしくお願いします。

  • ファイルダイアログのカレントフォルダ

    vb.netのOpenFileDialogでダイアログを開いたとき、最初はマイドキュメントが表示されますが 違うフォルダからファイルを選ぶと、次にダイアログを開いたときはそのフォルダ(カレントフォルダ?)がまず表示されます。 その情報はどこに保存されてるのですか? 同じパソコンでプログラムをコピーして交互に動かしてもカレントフォルダはその度に変わってるようです。 別のパソコンにプログラムをコピーしたら(最初だけは)マイドキュメントからになるんですか? もう1つ質問で RestoreDirectoryプロパティにtrueを設定してもカレントフォルダは変わるようなのですが なぜでしょう? 試しに作ったコードは↓です。 環境はvb2005、XP-sp3です。 -------------------- Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' OpenFileDialog の新しいインスタンスを生成する (デザイナから追加している場合は必要ない) Dim OpenFileDialog1 As New OpenFileDialog() ' ダイアログボックスを閉じる前に現在のディレクトリを復元する (初期値 False) OpenFileDialog1.RestoreDirectory = False ' ダイアログを表示し、戻り値が [OK] の場合は、選択したファイルを表示する If OpenFileDialog1.ShowDialog() = DialogResult.OK Then MessageBox.Show(OpenFileDialog1.FileName) End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' OpenFileDialog の新しいインスタンスを生成する (デザイナから追加している場合は必要ない) Dim OpenFileDialog2 As New OpenFileDialog() ' ダイアログボックスを閉じる前に現在のディレクトリを復元する (初期値 False) OpenFileDialog2.RestoreDirectory = True ' ダイアログを表示し、戻り値が [OK] の場合は、選択したファイルを表示する If OpenFileDialog2.ShowDialog() = DialogResult.OK Then MessageBox.Show(OpenFileDialog2.FileName) End If End Sub End Class --------------------

  • フォルダ参照のダイアログについて

    フォルダ参照のダイアログ(フォルダだけを選択できるように)を表示したいのですが、 毎回違うダイアログボックスが表示されて困っております。 具体的には「フォルダの参照」や「コンピュータの参照」、「プリンタの参照」といった ダイアログがランダムに表示されています。 BrowseInfo構造体の ulFlags に BIF_RETURNONLYFSDIRS を指定して 呼び出しているのですが、記述の仕方がまずいのでしょうか? 毎回違うものが表示されるのが何故かわからないので 何か参考になるようなホームページなどを教えて頂けると助かります。

専門家に質問してみよう