C#弹出选择对话框的程序

来源:互联网 发布:大汉网络招聘 编辑:程序博客网 时间:2024/04/30 19:37

很多时候,我们都用一个按钮来触发一个事件,从而达到实现某一功能的操作,如按下一个按钮实现对数据库某一记录或某一批记录进行删除等等。通常我们要进行这些操作前都先要进行提示确认的步骤,这个提示步骤是:当用户作某一操作时,首先弹出一个操作确认选择对话框,用户后确认后,操作才能有效执行,否则中止操作。这样做既可以给用户提供一个很好的操作界面,也防止了误操作的发生。
下面就讨论一下用C#编写的弹出选择对话框程序。
一、基于WINFORM下的选择对话框
在WINFORM下,我们可以利用系统的对话框(MessageBox)来实现,具体思路是读取MessageBox的返回值(YES或NO)来达到对操作的控制。下面是一个演示程序代码代码如:

[c-sharp] view plaincopy
  1. private void button1_Click(object sender, System.EventArgs e)  
  2. {  
  3.      label1.Text="";  
  4.      DialogResult MsgBoxResult;//设置对话框的返回值  
  5.      MsgBoxResult = MessageBox.Show("请选择你要按下的按钮",//对话框的显示内容   
  6.      "提示",//对话框的标题   
  7.      MessageBoxButtons.YesNo,//定义对话框的按钮,这里定义了YSE和NO两个按钮   
  8.      MessageBoxIcon.Exclamation,//定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号   
  9.      MessageBoxDefaultButton.Button2);//定义对话框的按钮式样  
  10.      if (MsgBoxResult == DialogResult.Yes)//如果对话框的返回值是YES(按"Y"按钮)  
  11.         {  
  12.            this.label1.ForeColor = System.Drawing.Color.Red;//字体颜色设定  
  13.            label1.Text=" 你选择了按下”Yes“的按钮!";  
  14.         }  
  15.      if(MsgBoxResult == DialogResult.No)//如果对话框的返回值是NO(按"N"按钮)  
  16.         {  
  17.             this.label1.ForeColor = System.Drawing.Color.Blue;//字体颜色设定  
  18.              label1.Text=" 你选择了按下”No“的按钮!";  
  19.          }  
  20. }  

 

代码运行后的结果:
 

当按动对话框的“是”按钮时,显示红色字体“你选择了按下“YES”的按钮”字样,如果你按动了对话框的“否”按钮将显示蓝色字体的“你选择了按下“NO”的按钮”字样。
二、基于WEBFORM下的选择对话框
大家知道,在WEBFORM下,分前台程序和后太程序,在WEBFORM的演示程序中,前台程序主要放置一个Label控件和一个Button控件,前台代码如下:

[c-sharp] view plaincopy
  1. <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="dhk.WebForm1" %>  
  2. <HTML>  
  3.     <HEAD>  
  4.         <title>WebForm1</title>  
  5.         <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">  
  6.         <meta name="CODE_LANGUAGE" Content="C#">  
  7.         <meta name="vs_defaultClientScript" content="JavaScript">  
  8.     </HEAD>  
  9.     <body MS_POSITIONING="GridLayout">  
  10.     <form id="Form1" method="post" runat="server">  
  11.     <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 328px; POSITION: absolute; TOP: 200px" runat="server" Text="改变显示内容"></asp:Button>  
  12.     <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>  
  13.     </form>  
  14.     </body>  
  15. </HTML>  

 

 

后台处理代码如下:

[c-sharp] view plaincopy
  1. private void Page_Load(object sender, System.EventArgs e)  
  2. {  
  3. if(!IsPostBack)//如果页面不是第一次加载  
  4.      {  
  5.        Button1.Attributes.Add("onclick""return confirm('你要执行这个操作吗?');");  
  6.        //当按动Button1按钮时将首先弹出对话框,onclick表示按钮触发事件,return confirm()是对话框显示的内容。如果你选择按下对话框中的"确定"按钮,则执行Button1_Click方法,否则不执行。  
  7.      }  
  8. }  
  9. private void Button1_Click(object sender, System.EventArgs e)  
  10. {  
  11. Label1.Text="你选择按动了“确定”按钮!";  
  12. }  

 

这个程序的思路是:当按动“改变显示内容”按钮时,将会触发一个按钮事件,在执行这个事件代码之前,我们首先使用一个弹出对话框,对是否继续执行进行确认,如果按动对话框的“确定”按钮,则继续执行事件代码,在屏幕上显示:你选择按动了“确定”按钮,如果按动了对话框的“取消”按钮,则中止执行。


0 0
原创粉丝点击