C#弹出对话框 确定或者取消 执行相应操作

一、基于WINFORM下的选择对话框
在WINFORM下,我们可以利用系统的对话框(MessageBox)来实现,具体思路是读取MessageBox的返回值(YES或NO)来达到对操作的控制。下面是一个演示程序代码代码如:
private void button1_Click(object sender, System.EventArgs e)
{
     label1.Text="";
     DialogResult MsgBoxResult;//设置对话框的返回值
     MsgBoxResult = MessageBox.Show("请选择你要按下的按钮",//对话框的显示内容
     "提示",//对话框的标题
     MessageBoxButtons.YesNo,//定义对话框的按钮,这里定义了YSE和NO两个按钮
     MessageBoxIcon.Exclamation,//定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号
     MessageBoxDefaultButton.Button2);//定义对话框的按钮式样
     if (MsgBoxResult == DialogResult.Yes)//如果对话框的返回值是YES(按"Y"按钮)
        {
           this.label1.ForeColor = System.Drawing.Color.Red;//字体颜色设定
           label1.Text=" 你选择了按下”Yes“的按钮!";
        }
     if(MsgBoxResult == DialogResult.No)//如果对话框的返回值是NO(按"N"按钮)
        {
            this.label1.ForeColor = System.Drawing.Color.Blue;//字体颜色设定
             label1.Text=" 你选择了按下”No“的按钮!";
         }
}

当按动对话框的“是”按钮时,显示红色字体“你选择了按下“YES”的按钮”字样,如果你按动了对话框的“否”按钮将显示蓝色字体的“你选择了按下“NO”的按钮”字样。
二、基于WEBFORM下的选择对话框
大家知道,在WEBFORM下,分前台程序和后太程序,在WEBFORM的演示程序中,前台程序主要放置一个Label控件和一个Button控件,前台代码如下:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="dhk.WebForm1" %>

   
        WebForm1
       
       
       
   
   
   


   
    这是初始显示的内容
   

   

后台处理代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)//如果页面不是第一次加载
     {
       Button1.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');");
       //当按动Button1按钮时将首先弹出对话框,onclick表示按钮触发事件,return confirm()是对话框显示的内容。如果你选择按下对话框中的"确定"按钮,则执行Button1_Click方法,否则不执行。
     }
}
private void Button1_Click(object sender, System.EventArgs e)
{
Label1.Text="你选择按动了“确定”按钮!";
}
这个程序的思路是:当按动“改变显示内容”按钮时,将会触发一个按钮事件,在执行这个事件代码之前,我们首先使用一个弹出对话框,对是否继续执行进行确认,如果按动对话框的“确定”按钮,则继续执行事件代码,在屏幕上显示:你选择按动了“确定”按钮,如果按动了对话框的“取消”按钮,则中止执行。
 
 
使用JavaScript实现弹出对话框
 
javascript的对话框
Page.RegisterStartupScript("js", "");
            //Response.Write("");
            //Response.Write("  alert('AAA')   ");
            //Response.Write("");
 
 
 
使用Messagebox实现:
 
不同于vb中可以直接使用msgbox来得到消息框的返回值,在c#中需要使用 dialogresult 类型的变量,从messagebox.show()方法接受消息对话框的返回值。至于messagebox.show()的返回值是 yes 、no, ok还是cancel,那需要自己在show()方法中对它可以显示的选择按钮进行设置。以下示例代码可以参考:

不过需要先引入.net下的Microsoft.window.form这个引用,再using System.Window.From
// initializes the variables to pass to the messagebox.show method.

string message = "you did not enter a server name. cancel this operation?";
string caption = "no server name specified";
messageboxbuttons buttons = messageboxbuttons.yesno;
dialogresult result;

// displays the messagebox.

result = messagebox.show(this, message, caption, buttons,
messageboxicon.question, messageboxdefaultbutton.button1,
messageboxoptions.rightalign);

if(result == dialogresult.yes)
{
//do your action here.
}

转载于:https://www.cnblogs.com/weiqt/articles/1733706.html

你可能感兴趣的:(C#弹出对话框 确定或者取消 执行相应操作)