มีกล่องโต้ตอบการยืนยันในตัวใน Windows Forms หรือไม่


115

ฉันต้องการสร้างกล่องโต้ตอบยืนยันง่ายๆว่า "โปรดตรวจสอบข้อมูลและหากแน่ใจว่าถูกต้องให้คลิกตกลง"

มีบางอย่างในตัวเช่นนี้หรือไม่?

คำตอบ:


223

นี่คือตัวอย่าง คุณสามารถลองสิ่งนี้

var confirmResult =  MessageBox.Show("Are you sure to delete this item ??",
                                     "Confirm Delete!!",
                                     MessageBoxButtons.YesNo);
if (confirmResult == DialogResult.Yes)
{
    // If 'Yes', do something here.
}
else
{
    // If 'No', do something here.
}

นอกจากนี้คุณยังสามารถลองแทนMessageBoxButtons.OKCancel MessageBoxButtons.YesNoขึ้นอยู่กับความต้องการของคุณ

  1. หากคุณมี. Net Framework 4.6 ขึ้นไปโปรดลองใช้สิ่งนี้
MessageBoxResult confirmResult = MessageBox.Show("Are you sure to delete this item ??", "Confirm Delete!!", MessageBoxButton.YesNo);`

if (confirmResult == MessageBoxResult.Yes)
{
   // If 'Yes', do something here.
}
else
{
   // If 'No', do something here.
}

2
วิธีนี้ใช้ได้ผลดีกับฉัน ฉันมีกรณีที่มีปุ่ม "รีเซ็ต" ซึ่งจะลบข้อมูลและนี่เป็นวิธีการที่ยอดเยี่ยมในการจัดการสิ่งนั้น
Nicholas Kreidberg

1
ในกรณีของฉันแทนที่จะเป็น DialogResult ฉันต้องใช้ MessageBoxResult
kamil.ka

MessageBoxButtons ใช่ไม่ควรอ่าน MessageBoxButton ใช่ไม่และ DialogResult เปลี่ยนเป็น MessageBoxResult สำหรับ. NET 4.6
เอียน

17

MessageBox.Show? คุณสามารถระบุชื่อเรื่องคำอธิบายภาพและตัวเลือกบางอย่างสำหรับปุ่มที่จะแสดง

ในทางตรงกันข้ามถ้าคุณกำลังขอให้คนที่จะยืนยันข้อมูลว่าเสียงเหมือนคุณอาจต้องการที่จะแสดงกล่องโต้ตอบกำหนดเอง - Form.ShowDialogซึ่งคุณสามารถทำได้ด้วย


1
ขอบคุณฉันจะดูคลาส Form.ShowDialog BTW คุณแก้ไขคำถามของคุณได้อย่างไรโดยที่ไม่แสดงการแก้ไข

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.