ファイルダイアログのファイル名の表示について


イメルダ  2009-03-19 06:24:16  No: 141705

VB2008で、ファイル操作を行おうとしています。
例えば、SaveFileDialog(sfd)で、以下のような設定をしてあるとします。

sfd.Filter = "テキストファイル|*.txt"
sfd.FilterIndex = 1

さて、あるボタンをクリックした時に、このダイアログを開き、OKならばこのファイル名を保存するようにしています。
ここで、これを実行すると、以下のようになってしまいます。

・ボタンを1回目クリックしたとき
  ダイアログのファイル名の部分は空欄のまま
・ボタンを2回目クリックしたとき
  ダイアログのファイル名の部分には、1回目に選択したファイル名が、絶対パス付きで表示される。
  (例えば、"C:\Users\xxxx\Documents\test\abc.txt"のような感じ)

どうして2回目クリック時には、先ほど選択したのダイアログのファイル名に、
絶対パス付きのファイル名が表示されるのでしょうか?
表示されるのならパス情報のないファイル名だけでいいのですが...
ご存知の方、ご教示いただけますでしょうか?
宜しくお願いします。


Hongliang  2009-03-19 06:59:28  No: 141706

SaveFileDialog を使い回してるからでしょう。
FileName プロパティは OK 押した後に選択したファイルパスが格納されるほか、ShowDialog する前に設定しておくことでダイアログのファイル名のところにあらかじめ表示される文字列をも指します。
個人的には、ダイアログは Using 構文使ってその場で New して終わったらすぐ廃棄、というやり方がいいかと思います。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加