C#弹出对话框确定或者取消执行相应操作的实例代码

作者:Code porter T3 时间:2021-11-19 13:26:29 

一、基于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" %>
<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>

后台处理代码如下:


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", "<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


// 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/dispark/archive/2020/12/02/14071959.html

标签:C#,弹出,对话框
0
投稿

猜你喜欢

  • Android之有效防止按钮多次重复点击的方法(必看篇)

    2022-03-15 01:30:34
  • Java发送http请求的示例(get与post方法请求)

    2021-09-29 23:21:40
  • Android使用AndroidUtilCode实现多语言

    2023-08-28 15:25:50
  • Java实现图像分割功能

    2022-04-10 22:27:15
  • Android中AlertDialog四种对话框的最科学编写用法(实例代码)

    2021-09-07 10:25:58
  • 基于C#实现微信支付宝扫码支付功能

    2023-09-24 04:53:49
  • Java学习基础之安装JDK/配置JDK环境&IEDA工具安装

    2023-02-09 13:02:40
  • Unity3D实现鼠标控制视角转动

    2023-11-22 21:18:46
  • Java栈之链式栈存储结构的实现代码

    2022-01-18 09:38:48
  • SpringMvc微信支付回调示例代码

    2023-01-24 08:00:03
  • Spring Boot接口限流的常用算法及特点

    2023-12-20 05:16:30
  • Intellij IDEA如何去掉@Autowired 注入警告的方法

    2023-02-13 04:34:49
  • MyBatis特殊字符转义拦截器问题针对(_、\\、%)

    2023-09-12 00:46:39
  • 关于java的九个预定义Class对象

    2023-08-16 01:56:16
  • Java 实战项目之精品养老院管理系统的实现流程

    2022-05-30 08:18:11
  • C#无损转换Image为Icon的方法

    2023-07-30 02:38:40
  • c# WinForm制作图片编辑工具(图像拖动、缩放、旋转、抠图)

    2022-05-20 12:32:40
  • spring boot 2整合swagger-ui过程解析

    2021-08-08 22:57:35
  • Android常用正则表达式验证工具类(实例代码)

    2022-08-09 15:52:14
  • Android开发之imageView图片按比例缩放的实现方法

    2023-01-09 21:52:51
  • asp之家 软件编程 m.aspxhome.com