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

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

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

Re[2]: ProcessWaitingFormでのエラーメッセージ


(過去ログ 64 を表示中)

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

■36821 / inTopicNo.1)  ProcessWaitingFormでのエラーメッセージ
  
□投稿者/ Yumi (1回)-(2009/06/05(Fri) 19:44:28)

分類:[.NET 全般] 

.NET初心者です。

エラーメッセージの表示で困っています。
該当データがなかった時に「データ出力に失敗しました」と出てしまいます 。

DialogResult.Noneを返すのにDialogResult.Cancelを受け取ってしまいます。

Dim iRet As Integer
Dim processWaitingFrm As ProcessWaitingForm = New ProcessWaitingForm(Me)
iRet = processWaitingFrm.ShowDialog
If iRet = DialogResult.Cancel Then ⇒Cancelを受け取ってしまい・・
MsgBox(MessageManger.GetMessage("ERR1000022", "データ出力"), MsgBoxStyle.Critical, "警告") ⇒失敗
ElseIf iRet = DialogResult.None Then
MsgBox(MessageManger.GetMessage("ERR0000005"), MsgBoxStyle.Critical, "警告") ⇒該当無し
End If

Public Overrides Sub ProcessWithWaitingForm(ByVal argWaitingForm As ProcessWaitingForm)
If m_BusinessLogic.InsertDataOutput(1, refErr) = False Then ⇒該当データがない場合
If refErr Then
argWaitingForm.DialogResult = DialogResult.None  ⇒ココに入ってsubで抜ける
Exit Sub
End If
argWaitingForm.DialogResult = DialogResult.Cancel
Exit Sub
End If

.NET初めて使うので、あまり理解できていません。。
どうぞよろしくお願いいたします。

引用返信 編集キー/
■36825 / inTopicNo.2)  Re[1]: ProcessWaitingFormでのエラーメッセージ
□投稿者/ Hongliang (411回)-(2009/06/05(Fri) 20:16:53)
その ProcessWaitingForm やら ProcessWithWaitingForm やらが Google に引っかからない、Yumi さん周辺で独自に実装されたもののようなので推測になりますが。
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.dialogresult.aspx
DialogResult 列挙体の None の項目には
「ダイアログ ボックスから Nothing が返されます。つまり、モーダル ダイアログ ボックスの実行が継続します。」
とあります(「Nothing が返されます」は「何も返らない」の方がいいと思いますが)。
つまり、普通に ShowDialog を使用した場合、None を DialogResult に代入してもダイアログは閉じません。ShowDialog の返値となることもあり得ないでしょう。
None にしたとき閉じるのは、多分 ProcessWithWaitingForm の呼び出し元とかが独自に判断して DialogResult を操作したり Close を呼び出したりしてるんじゃないかな、と思われます。
引用返信 編集キー/
■36854 / inTopicNo.3)  Re[2]: ProcessWaitingFormでのエラーメッセージ
□投稿者/ Yumi (2回)-(2009/06/08(Mon) 10:30:33)
No36825 (Hongliang さん) に返信
> その ProcessWaitingForm やら ProcessWithWaitingForm やらが Google に引っかからない、Yumi さん周辺で独自に実装されたもののようなので推測になりますが。


ご返信ありがとうございます。
ご指摘の通り独自に実装されたものでした。初歩的な事でスミマセン!
周辺の動きを再確認してみます。

ご返答が遅れて申し訳ありません。
ありがとうございました☆
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -