一、基于WINFORM下的选择对话框
在WINFORM下,我们可以利用系统的对话框(MessageBox)来实现,具体思路是读取MessageBox的返回值(YES或NO)来达到对操作的控制。下面是一个演示程序代码代码如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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控件,前台代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<%@ Page language= "c#" Codebehind= "WebForm1.aspx.cs" AutoEventWireup= "false" Inherits= "dhk.WebForm1" %> <HTML> <HEAD> <title>WebForm1</title> <meta name= "GENERATOR" Content= "Microsoft Visual Studio .NET 7.1" > <meta name= "CODE_LANGUAGE" Content= "C#" > <meta name= "vs_defaultClientScript" content= "JavaScript" > </HEAD> <body MS_POSITIONING= "GridLayout" > <form id= "Form1" method= "post" runat= "server" > <asp:Button id= "Button1" style= "Z-INDEX: 101; LEFT: 328px; POSITION: absolute; TOP: 200px" runat= "server" Text= "改变显示内容" ></asp:Button> <asp:Label id= "Label1" style= "Z-INDEX: 102; LEFT: 288px; POSITION: absolute; TOP: 152px" runat= "server" Width= "256px" Height= "32px" Font-Size= "Larger" ForeColor= "Red" >这是初始显示的内容</asp:Label> </form> </body> </HTML> |
后台处理代码如下:
1
2
3
4
5
6
7
8
|
private void Page_Load( object sender, System.EventArgs e) { if (!IsPostBack) //如果页面不是第一次加载 { Button1.Attributes.Add( "onclick" , "return confirm('你要执行这个操作吗?');" ); //当按动Button1按钮时将首先弹出对话框,onclick表示按钮触发事件,return confirm()是对话框显示的内容。如果你选择按下对话框中的"确定"按钮,则执行Button1_Click方法,否则不执行。 } } |
1
2
3
4
|
private void Button1_Click( object sender, System.EventArgs e) { Label1.Text= "你选择按动了“确定”按钮!" ; } |
这个程序的思路是:当按动“改变显示内容”按钮时,将会触发一个按钮事件,在执行这个事件代码之前,我们首先使用一个弹出对话框,对是否继续执行进行确认,如果按动对话框的“确定”按钮,则继续执行事件代码,在屏幕上显示:你选择按动了“确定”按钮,如果按动了对话框的“取消”按钮,则中止执行。
使用JavaScript实现弹出对话框
javascript的对话框
1
2
3
4
|
Page.RegisterStartupScript( "js" , "<script>alert('画面输入不完整,请检查重新输入')</script>" ); //Response.Write("<script language='javascript' type='text/javascript'>"); //Response.Write(" alert('AAA') "); //Response.Write("</script>"); |
使用Messagebox实现:
不同于vb中可以直接使用msgbox来得到消息框的返回值,在c#中需要使用 dialogresult 类型的变量,从messagebox.show()方法接受消息对话框的返回值。至于messagebox.show()的返回值是 yes 、no, ok还是cancel,那需要自己在show()方法中对它可以显示的选择按钮进行设置。以下示例代码可以参考:
不过需要先引入.net下的Microsoft.window.form这个引用,再using System.Window.From
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
// 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. } |
到此这篇关于C#弹出对话框确定或者取消执行相应操作的实例代码的文章就介绍到这了,更多相关C#弹出对话框确定内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/dispark/archive/2020/12/02/14071959.html