C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[4]: SaveFileDialogでの拡張子指定について
(過去ログ 159 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 6 記事 (1 - 6 表示)] <<
0
>>
■92152
/ inTopicNo.1)
SaveFileDialogでの拡張子指定について
▼
■
□投稿者/ ポケモンすけ
(1回)-(2019/08/30(Fri) 10:08:50)
分類:[.NET 全般]
SaveFileDialogで拡張子を指定する際には
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = //"HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*";
などとするかと思いますが、拡張子なしを指定することは可能なのでしょうか。
(ダイアログの「ファイルの種類」に拡張子なしと[*.txt]の2択にするとか)
ご存知のかた、ご教示ください。
引用返信
編集キー/
編集
■92153
/ inTopicNo.2)
Re[1]: SaveFileDialogでの拡張子指定について
▲
▼
■
□投稿者/ furu
(5回)-(2019/08/30(Fri) 11:10:35)
■
No92152
(ポケモンすけ さん) に返信
やってみれば?
//C#
sfd.Filter = "拡張子無しファイル1(*.)|*.|拡張子無しファイル2|*|テキストファイル(*.txt)|*.txt";
拡張子無しファイル2がどうしてこうなのかは聞かないでください。
やったらこうなったので。
引用返信
編集キー/
編集
■92160
/ inTopicNo.3)
Re[2]: SaveFileDialogでの拡張子指定について
▲
▼
■
□投稿者/ ポケモンすけ
(3回)-(2019/08/30(Fri) 11:52:44)
2019/08/30(Fri) 12:13:14 編集(投稿者)
2019/08/30(Fri) 12:13:12 編集(投稿者)
■
No92153
(furu さん) に返信
ありがとうございます。やってみました。
「ファイルの種類」には3パターン表示されますが、
テキストファイル選択後に拡張子無しファイル1、拡張子無しファイル2を選択しても
「ファイル名」の欄が更新されず「新しいファイル.txt」のままでした。。。
が、
dlg.Filter = "拡張子なし|*..|TEXT|*.txt";
のようにすれば行けたようです!
ありがとうございました。
解決済み
引用返信
編集キー/
編集
■92161
/ inTopicNo.4)
Re[3]: SaveFileDialogでの拡張子指定について
▲
▼
■
□投稿者/ 魔界の仮面弁士
(2335回)-(2019/08/30(Fri) 12:17:24)
■
No92160
(ポケモンすけ さん) に返信
> 「ファイルの種類」には3パターン表示されますが、
> テキストファイル選択後に拡張子無しファイル1、拡張子無しファイル2を選択しても
> 「ファイル名」の欄が更新されず「新しいファイル.txt」のままでした。。。
test1.txt
test2
test3.TxT
test4.TxTokyoMetroPass
という 4 つのファイルが置いてあるフォルダを用意してみました。
そして、SaveFileDialog で開いてみたところ、ListView 部に表示される内容は
FilterIndex == 1 (*.) の場合は、どれも表示されない
FilterIndex == 2 (*) の場合は、4 ファイルすべてが表示される
FilterIndex == 3 (*.txt) の場合は、2 ファイルのみ … test1、test3
という状態になりました。
一方、コマンドプロンプトから DIR コマンドで確認してみると、
DIR "*." の場合は 1 ファイルのみ … test2 のみ
DIR "*" の場合は 4 ファイルすべて
DIR "*.txt" の場合は 3 ファイル … test1、test3、test4
という結果になりました。
# test4 のショートファイル名は "TEST4~1.TXT" だったので、
# FilterIndex == 3 なら test4 も表示されると思ってた…。
> 「ファイル名」の欄が更新されず「新しいファイル.txt」のままでした。。。
「ファイル名」欄はあまり気にしすぎない方が良いかと思いますよ。
ある程度の拡張子連動機能はありますが、単純な文字列加工処理が
補助的に行われている程度なのだと思いますし。
FilterIndex が何であっても、ファイル名欄に「*.*」と書いて Enter すれば
フィルタ条件に関係なくすべてのファイルが列挙されますので、
そもそも絶対的な物でもないですよね。
また、既存のファイルを選択した状態で、そのまま元ファイルをリネームした場合、
「ファイル名」欄はリネーム前の名前をそのまま保持していますが、
この状態でダイアログを閉じる際に、新旧どちらの名前が指定されたことに
なるのかという点が、Windows のバージョンによって異なっていた記憶が…。
引用返信
編集キー/
編集
■92162
/ inTopicNo.5)
Re[3]: SaveFileDialogでの拡張子指定について
▲
▼
■
□投稿者/ 魔界の仮面弁士
(2336回)-(2019/08/30(Fri) 12:26:15)
■
No92160
(ポケモンすけ さん) に返信
> dlg.Filter = "拡張子なし|*..|TEXT|*.txt";
> のようにすれば行けたようです!
実行環境に依存するのかな…?
当方環境では、期待動作していないように見えます。
No92161
の 4 ファイルのあるフォルダを、その条件で開いてみたら、
ListView の表示は
FilterIndex == 1 (*..) の場合は、どれも表示されない
FilterIndex == 2 (*.txt) の場合は、2 ファイルのみ … test1、test3
となって、肝心の test2 が表示されませんでした。
また、FilterIndex == 1 が選択された状態で、
ファイル名欄 に、"abc.xyz" という存在しないファイル名を書いた状態で
FilterIndex == 2 に切り替えてみたところ、"abc.xyz" が "abc.xyz.txt" となり、
さらに、FilterIndex == 1 にすると、"abc.xyz.txt" が "abc.xyz.." になり、
再度、FilterIndex == 2 にすると、"abc.xyz.." が "abc.xyz...txt" になるという
事象が発生しました。
引用返信
編集キー/
編集
■92256
/ inTopicNo.6)
Re[4]: SaveFileDialogでの拡張子指定について
▲
▼
■
□投稿者/ ポケモンすけ
(4回)-(2019/09/05(Thu) 12:59:12)
■
No92162
(魔界の仮面弁士 さん) に返信
> ■
No92160
(ポケモンすけ さん) に返信
>>dlg.Filter = "拡張子なし|*..|TEXT|*.txt";
>>のようにすれば行けたようです!
>
> 実行環境に依存するのかな…?
> 当方環境では、期待動作していないように見えます。
>
>
>
No92161
の 4 ファイルのあるフォルダを、その条件で開いてみたら、
> ListView の表示は
> FilterIndex == 1 (*..) の場合は、どれも表示されない
> FilterIndex == 2 (*.txt) の場合は、2 ファイルのみ … test1、test3
> となって、肝心の test2 が表示されませんでした。
>
>
> また、FilterIndex == 1 が選択された状態で、
> ファイル名欄 に、"abc.xyz" という存在しないファイル名を書いた状態で
> FilterIndex == 2 に切り替えてみたところ、"abc.xyz" が "abc.xyz.txt" となり、
> さらに、FilterIndex == 1 にすると、"abc.xyz.txt" が "abc.xyz.." になり、
> 再度、FilterIndex == 2 にすると、"abc.xyz.." が "abc.xyz...txt" になるという
> 事象が発生しました。
魔界の仮面弁士様
申し訳ありません。
ご指摘のとおり、「ファイル名」の欄については更新されないままでした。
とりあえず拡張子なし、拡張子ありの2パターンで選択、保存までできたので
現状よしとしておきます
「ファイル名」については未解決ですが。。。
ありがとうございました。
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-