Laploy Web Board
Would you like to react to this message? Create an account in a few clicks or log in to continue.

messagebox กับ DialogResult

3 posters

Go down

messagebox กับ DialogResult Empty messagebox กับ DialogResult

ตั้งหัวข้อ  Guyhanami 1st June 2010, 9:12 pm

พอดีผมเป็นคนนึ่งที่เพิ่งหัดเขียน C# โดยเขียน มีปัญหาที่ผมเขียน โค๊ต
event1 เมื่อกดปุ่ม exit ที่เมนู
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult ck = MessageBox.Show("You are about to exit program1", "Yes or No",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if (ck == DialogResult.Yes)
{
Application.Exit();
}
}



event 2 เมื่อปิดฟอร์ม
private void Main_FormClosing(object sender, EventArgs e)
{
DialogResult ck = MessageBox.Show("You are about to exit program1", "Yes or No",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if (ck == DialogResult.Yes)
{
Application.Exit();
}
}

แต่เมื่อเรากดปุ่มใดปุ่มหนึ่ง จะมี Messagebox ขึ้นมาให้กดยืนยันถึง 2 รอบ คือ มันทำการที่ 2 event เราจะมีวิธีเขียนโค๊ตบล็อคการทำงานที่ขึ้นมา ซ้ำกันแบบนี้อย่างไร

Guyhanami

จำนวนข้อความ : 3
Join date : 28/05/2010

ขึ้นไปข้างบน Go down

messagebox กับ DialogResult Empty Re: messagebox กับ DialogResult

ตั้งหัวข้อ  Admin 2nd June 2010, 10:59 am

วิธีแก้ไขทำได้โดยนิยามอีกเมธอดหนึ่ง แล้วให้เมธอดทั้งสองที่ว่ามาไปเรียกหา ท้้งนี้ก็เพื่อให้เกิดความปรองดอง ลดความเป็นสองมาตรฐาน ยกตัวอย่างเช่น

void WantToQuitMan()
{
DialogResult ck = MessageBox.Show("You are about to exit program1", "Yes or No",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if (ck == DialogResult.Yes)
{
Application.Exit();
}
}


private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
WantToQuitMan();
}


private void Main_FormClosing(object sender, EventArgs e)
{
WantToQuitMan();
}

Admin
Admin

จำนวนข้อความ : 215
Join date : 17/12/2009

http://laploy.forumotion.com

ขึ้นไปข้างบน Go down

messagebox กับ DialogResult Empty ขอบคุณครับที่ตอบคำถาม

ตั้งหัวข้อ  Guyhanami 2nd June 2010, 2:54 pm

แต่พอผมตั้งคุณสมบัติว่าให้ปุ่มไหนเป็น cancelButton แล้วกำหนด Source code แบบด้าน แต่พอกด No มันก็เด้งออกให้เลย ไม่รู้ว่าเป็นเพราะอะไร แต่พอไม่ตั้งเป็นcancelutton มันกด NO มันก็ไออกอ่ะครับ affraid

แล้ว Source code ด้านบนมันก้อเด้งมาให้เราตอบ 2 ครั้งเหมือนเดิม

จะให้ส่ง Source code ไปเล่นดูไหม

Guyhanami

จำนวนข้อความ : 3
Join date : 28/05/2010

ขึ้นไปข้างบน Go down

messagebox กับ DialogResult Empty งั้นให้แก้

ตั้งหัวข้อ  Admin 2nd June 2010, 6:44 pm

ถ้างั้นให้แก้เป็น

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}


private void Main_FormClosing(object sender, EventArgs e)
{
DialogResult ck = MessageBox.Show("You are about to exit program1", "Yes or No",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if (ck == DialogResult.Yes)
{
Application.Exit();
}
}

Admin
Admin

จำนวนข้อความ : 215
Join date : 17/12/2009

http://laploy.forumotion.com

ขึ้นไปข้างบน Go down

messagebox กับ DialogResult Empty ขอบคุณครับที่ตอบคำถาม

ตั้งหัวข้อ  Guyhanami 2nd June 2010, 8:14 pm

ยังไม่ได้เหมือนเดิมแต่ผมเปลี่ยนไปปิด controlbox เอาง่ายดี ขอบคุณครับ
มีเรื่องอยากถามหน่อยว่า

เราต้องการให้ text วิ่ง วนๆ ไปเรื่อยๆอ่ะครับ ที่ From
และเราสร้าง shortcutkey ให้กับ button ได้ไหม ไม่ใช่ปุ่มที่เมนูน่ะครับ

Guyhanami

จำนวนข้อความ : 3
Join date : 28/05/2010

ขึ้นไปข้างบน Go down

messagebox กับ DialogResult Empty ลองดูนะครับ

ตั้งหัวข้อ  bundit 3rd June 2010, 12:49 pm

ไม่รู้ว่าทำได้หรือยังที่ว่าให้ message ตอนปิดอันนี้ผมก็ไม่ได้เขียนเองนะครับ หามาให้ลองดูครับผมลองดูแล้วก็ใช้ได้ดี

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override void OnClosing(CancelEventArgs e)
{
DialogResult result = MessageBox.Show("คุณต้องการออกจากโปรแกรม ใช่หรือไม่?", "Confirm exit",
MessageBoxButtons.OKCancel);
e.Cancel = result == DialogResult.Cancel;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
this.Close();
}

}

}

ได้มาจากเว็ปนี้ครับบ
http://bytes.com/topic/c-sharp/answers/277846-confirm-window-close

bundit

จำนวนข้อความ : 6
Join date : 18/05/2010

ขึ้นไปข้างบน Go down

messagebox กับ DialogResult Empty วันหลังแวะ

ตั้งหัวข้อ  Admin 3rd June 2010, 5:13 pm

ขอบคุณๆ bundit วันหลังแวะเข้ามาช่วยอีกนะครับ

Admin
Admin

จำนวนข้อความ : 215
Join date : 17/12/2009

http://laploy.forumotion.com

ขึ้นไปข้างบน Go down

ขึ้นไปข้างบน

- Similar topics

 
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ