C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: SaveFileDialogのファイル名が空白だったとき


(過去ログ 44 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■23357 / inTopicNo.1)  SaveFileDialogのファイル名が空白だったとき
  
□投稿者/ クー (1回)-(2008/08/13(Wed) 09:47:33)

分類:[C#] 

初心者です。よろしくお願いします。
現在、VB-Reportを使用した帳票の、プレビュー画面をC#で作成しています。
「PDFに保存」ボタンをプレビュー画面に用意し、SaveFileDialogで「名前をつけて保存」ボックスを
表示するようにしています。
デフォルトのファイル名表示には、プレビュー中の帳票名が入る様にしてあるのですが、ここのファイル名を
「空白」にした場合、保存ボタンを無効にする方法はあるのでしょうか。
(通常EXCEL保存の時など、ファイル名を空白にするとボタンが押せない様になるのですが・・・。同じ仕様にしたいのです。)

以下の様なコードにしているのですが、空白で「保存」ボタンを押下するとDialogResultの戻り値を取得することが出来ません。
ボタン無効が無理そうであれば、「空白だったら注意メッセージを出す」という仕様でも構わないのですが・・・。

Win32APIによるダイアログの拡張は避けたいのですが、何か方法がありましたらご教示ください。


if (dlgSaveFile.ShowDialog() == DialogResult.OK)
{
//PDF保存
try
{
if (dlgSaveFile.FileName != "") //空白のときここまで来ない
{
xlsPreviewCtrl.Out.PDF(dlgSaveFile.FileName); //VB-ReportコントロールによるPDF保存
}
}
catch
{
throw;
}
}
引用返信 編集キー/
■23364 / inTopicNo.2)  Re[1]: SaveFileDialogのファイル名が空白だったとき
□投稿者/ カドルドエグ (11回)-(2008/08/13(Wed) 10:30:40)
No23357 (クー さん) に返信
> 初心者です。よろしくお願いします。
> 現在、VB-Reportを使用した帳票の、プレビュー画面をC#で作成しています。
> 「PDFに保存」ボタンをプレビュー画面に用意し、SaveFileDialogで「名前をつけて保存」ボックスを
> 表示するようにしています。
> デフォルトのファイル名表示には、プレビュー中の帳票名が入る様にしてあるのですが、ここのファイル名を
> 「空白」にした場合、保存ボタンを無効にする方法はあるのでしょうか。
> (通常EXCEL保存の時など、ファイル名を空白にするとボタンが押せない様になるのですが・・・。同じ仕様にしたいのです。)
>
> 以下の様なコードにしているのですが、空白で「保存」ボタンを押下するとDialogResultの戻り値を取得することが出来ません。
> ボタン無効が無理そうであれば、「空白だったら注意メッセージを出す」という仕様でも構わないのですが・・・。
>
> Win32APIによるダイアログの拡張は避けたいのですが、何か方法がありましたらご教示ください。
>
>
> if (dlgSaveFile.ShowDialog() == DialogResult.OK)
> {
> //PDF保存
> try
> {
> if (dlgSaveFile.FileName != "") //空白のときここまで来ない
> {
> xlsPreviewCtrl.Out.PDF(dlgSaveFile.FileName); //VB-ReportコントロールによるPDF保存
> }
> }
> catch
> {
> throw;
> }
> }
「開く」または「保存」ボタンを押したときのイベント、「FileOKイベント」というのがありますが
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.filedialog.fileok.aspx
これもファイル名が入っていないとやはり発生しませんでした。

また、「SaveFileDialogクラス」自体にもこのイベント以外で保存等のボタンに関わるメンバは持っていないようです。
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.savefiledialog_members.aspx

単なる個人的な主観ですが、「(ファイル名が空白のときは)イベントも発生しない・戻り値もない」ことで
「(暗黙的に)その状況はエラーである」とみなすという.NET側の仕様なのではないかと思います。
Excel等はExcel等で、.NETは.NETで分けて考えた方がよいのかもしれません。。


引用返信 編集キー/
■23366 / inTopicNo.3)  Re[2]: SaveFileDialogのファイル名が空白だったとき
□投稿者/ やじゅ (535回)-(2008/08/13(Wed) 10:42:06)
やじゅ さんの Web サイト
2008/08/13(Wed) 10:43:12 編集(投稿者)

> ■No23357 (クー さん) に返信
>

簡単には出来ないですね、Excelは保存ボタンが無効になったけど、
VB2008では無効にはなってなかったり・・・

ぐりぐりやれば出来るかもしれませんので、メモ的にリンクしておきます。

コモンダイアログの拡張
http://msdn.microsoft.com/en-us/library/ms996463.aspx

引用返信 編集キー/
■23420 / inTopicNo.4)  Re[3]: SaveFileDialogのファイル名が空白だったとき
□投稿者/ クー (2回)-(2008/08/14(Thu) 11:23:52)
カドルドエグ さん 
やじゅさん

ご回答ありがとうございます。
ダイアログの拡張は避けたいので、仕様としてそのままにしておくことになりました。

ありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -