2017-08-31 6 views
0

私はフォーム(frmcustlist)を持っています。 このリストで一度データセットを使用してリストをスキャンし、今すぐ0(顧客が残っていないか)を確認します。ダイアログボックスのダイアログ結果がキャンセルされた場合、現在のフォームを閉じる

この段階では、新しい顧客名を入力するための入力ボックスのポップアップ(ダイアログ)があります。 OKを押すとすべて正常です。私は入力ボックスの検証も行っています。 しかし、もし彼らがCANCELを押すと、私はダイアログから逃げ出すことができますが、ダイアログが呼び出されたfrmcustlistを閉じることはできません。

using (inputbox ipfirst = new inputbox("Enter Customer First Name:", "", "")) 
        { 
         if (ipfirst.ShowDialog() == DialogResult.OK) 
         { 
          newfirstname = ipfirst.answer; 
         } 
         else 
         { 
          this.Close(); 
         } 

        } 

さて、this.close()は...まったく動作しないので、私はそれが最後の名前と生年月日を求めるために起こって停止しreturn;を使用..しかし、私はそれはリターンのように(質問を停止したいです)と同様に近いfrmcustlist。 ... アドバイスをいただきありがとうございます。

ps。これはいくつかの場所に表示されますが、同様にfrmcustlist_loadで呼び出されます..私はそれが違いを生むかどうかわからない!

+1

あなたは)(にShowDialogを使用してフォームを表示しましたか? _this.Close()_ – Steve

+0

の代わりに_this.DialogResult = DialogResult.Cancel; _を試してください。メイトはそれをありがとう。私はそれが基本的だったと私は何かが不足していたことを知っている。 100%正しい。ありがとう:) –

答えて

0

答えはSTEVEのコメントです。 frmcustlistがDialogとして呼び出されたので、そのダイアログにCancelの結果を与える必要がなくなりました。作品

最終的なコード:

using (inputbox ipfirst = new inputbox("Enter Customer First Name:", "", "")) 
        { 
         if (ipfirst.ShowDialog() == DialogResult.OK) 
         { 
          newfirstname = ipfirst.answer; 
         } 
         else 
         { 
          DialogResult = DialogResult.Cancel; 
          return; 
         } 

        } 
関連する問題