服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#弹出对话框确定或者取消执行相应操作的实例代码

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

2022-10-19 13:06Code porter T3 C#

这篇文章主要介绍了C#弹出对话框确定或者取消执行相应操作的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

延伸 · 阅读

精彩推荐
  • C#CAD2008+VS2008开发ObjectARX加载失败问题(推荐)

    CAD2008+VS2008开发ObjectARX加载失败问题(推荐)

    这篇文章主要介绍了CAD2008+VS2008开发ObjectARX加载失败问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,...

    姬无华4142022-09-05
  • C#C#操作IIS方法集合

    C#操作IIS方法集合

    这篇文章主要介绍了C#操作IIS方法集合的相关资料,需要的朋友可以参考下...

    C#教程网12702021-10-28
  • C#浅谈C#9.0新特性之参数非空检查简化

    浅谈C#9.0新特性之参数非空检查简化

    这篇文章主要介绍了浅谈C#9.0新特性之参数非空检查简化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    王亮4342022-09-14
  • C#C#温故而知新系列教程之闭包

    C#温故而知新系列教程之闭包

    闭包是将一些执行语句的封装,可以将封装的结果像对象一样传递,在传递时,这个封装依然能够访问到原上下文。下面这篇文章主要给大家介绍了关于C#中...

    RstarYan7982022-02-24
  • C#c# 基于任务的异步编程模式(TAP)

    c# 基于任务的异步编程模式(TAP)

    这篇文章主要介绍了c# 基于任务的异步编程模式(TAP)的相关资料,帮助大家更好的理解和学习c# 异步编程的相关知识,感兴趣的朋友可以了解下...

    一只独行的猿9482022-10-13
  • C#C#中计时器的简单实现方法示例

    C#中计时器的简单实现方法示例

    这篇文章主要介绍了C#中计时器的简单实现方法,结合实例形式分析了C#计时器的简单定义与使用技巧,需要的朋友可以参考下...

    Flying_tao10352022-01-04
  • C#C#实现俄罗斯方块

    C#实现俄罗斯方块

    这篇文章主要为大家详细介绍了C#实现俄罗斯方块小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Csharp10642022-10-18
  • C#C#递归算法之归并排序

    C#递归算法之归并排序

    这篇文章主要介绍了C#递归算法中的归并排序,需要的朋友可以参考下。...

    张玉彬6102021-11-25