■101298 / inTopicNo.1) |
メッセージボックスでボタンを2回押さないと終了しない |
□投稿者/ エビ (6回)-(2023/01/31(Tue) 17:29:20)
|
分類:[C#]
こんばんは。
NET Frameworck4.8のC#を覚えようとしています。
元のソースコードはVBです、それをC#に「AI Programmer」というサイトを見つけて(書かせたいコードの処理)コードを生成しました。https://aiprogrammer.hashlab.jp/
【問題が出るソースコード】
Form1.cs
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult a = MessageBox.Show("アプリを終了しますか?", "質問", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2);
if(a == DialogResult.OK)
{
//「はい」が選択された時
Console.WriteLine("FormClose");
//Application.Exit();
}
else if (a == DialogResult.Cancel)
{
//「いいえ」が選択された時
Console.WriteLine("「いいえ」が選択されました");
e.Cancel = true;
}
}
と
private void Button7_Click(object sender, EventArgs e)
{
//メッセージボックスを表示する
DialogResult result = MessageBox.Show("アプリを終了しますか?",
"質問",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Asterisk,
MessageBoxDefaultButton.Button2);
//何が選択されたか調べる
if (result == DialogResult.OK)
{
//「はい」が選択された時
Console.WriteLine("Exit");
Application.Exit();
}
else if (result==DialogResult.Cancel)
{
//「いいえ」が選択された時
Console.WriteLine("「いいえ」が選択されました");
}
}
//「はい」が選択された時
Console.WriteLine("Exit");
Application.Exit();
この部分をButton7押して、OKを2回押さないとApplication.Exit();が終了しません。
VBでの動作は一回押したら出来るのですが、C#の場合・・・2回押さないと終了しない状況となっております。
Form1_FormClosingでもApplication.Exit();を入れるとそこでも2回OK押すことになります。
C#はまだ覚えたばかりの為、AI Programmerを見つけてコードを生成し、出来たのですがhttps://dobon.net/vb/dotnet/form/msgbox.html
メッセージボックスの作り方(C#)を参考にしました。
【教えて欲しい事】
OK/Cancelで一回で終了させたい事です。
※VBは一回で終了します。
教えてください。お願いいたします。
後もう一つ
AI Programmerの他に何がいいサイトがあれば教えてください。
OpenAIもありましたが登録しないと出来ないみたいです。
他のがもしあったらお願い申し上げます。
何度も質問して申し訳ございませんがお願い申し上げます。
|
|