惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
博客园 - 聂微东
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tor Project blog
N
Netflix TechBlog - Medium
G
Google Developers Blog
L
LINUX DO - 最新话题
Recent Announcements
Recent Announcements
爱范儿
爱范儿
P
Privacy & Cybersecurity Law Blog
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Spread Privacy
Spread Privacy
TaoSecurity Blog
TaoSecurity Blog
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
AWS News Blog
AWS News Blog
P
Proofpoint News Feed
D
DataBreaches.Net
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Hacker News: Ask HN
Hacker News: Ask HN
V
V2EX
www.infosecurity-magazine.com
www.infosecurity-magazine.com
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
博客园 - 司徒正美
U
Unit 42
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Blog — PlanetScale
Blog — PlanetScale
云风的 BLOG
云风的 BLOG
Schneier on Security
Schneier on Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Threatpost
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
Attack and Defense Labs
Attack and Defense Labs
L
Lohrmann on Cybersecurity
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Hugging Face - Blog
Hugging Face - Blog
PCI Perspectives
PCI Perspectives
S
Secure Thoughts
The Cloudflare Blog
L
LangChain Blog
T
The Exploit Database - CXSecurity.com
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
博客园 - 三生石上(FineUI控件)

博客园 - 流浪浪

使用递归的方法生产TreeView SQL截取字符串 SQL Server中各个系统表的作用 editor.js 缺少对象的解决方法(ewebeditor 使用) asp.net DataList中hyperlink传递参数及打开新页面全解 vs2005 c#鼠标悬停高亮显示在gridview中 li:hover ul,li.over ul{ display: block;}这句被ie6.0解释不了 CSS + JavaScript 利用display:none/block 构造弹出菜单 23种设计模式的通俗理解 myeclipse9.0破解方法 sql语句中调用将汉字转换为拼音函数 sql将汉字首字转化为拼音 “IE7中Frameset页面显示不全”问题的原因与解决方案 (转) sql语句获取本周、本月数据 解决gridview导出到excel中汉字出现乱码的问题 - 流浪浪 - 博客园 (转)IT人士群聚喝酒 Better Man 倒春寒 恨铁不成钢啊!
C#弹出选择对话框的程序
流浪浪 · 2009-11-03 · via 博客园 - 流浪浪

很多时候,我们都用一个按钮来触发一个事件,从而达到实现某一功能的操作,如按下一个按钮实现对数据库某一记录或某一批记录进行删除等等。通常我们要进行这些操作前都先要进行提示确认的步骤,这个提示步骤是:当用户作某一操作时,首先弹出一个操作确认选择对话框,用户后确认后,操作才能有效执行,否则中止操作。这样做既可以给用户提供一个很好的操作界面,也防止了误操作的发生。

下面就讨论一下用C#编写的弹出选择对话框程序。

一、基于WINFORM下的选择对话框

WINFORM下,我们可以利用系统的对话框(MessageBox)来实现,具体思路是读取MessageBox的返回值(YESNO)来达到对操作的控制。下面是一个演示程序代码代码如:

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“的按钮!";

         }

}

代码运行后的结果如图1所示:

当按动对话框的“是”按钮时,显示红色字体“你选择了按下“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="你选择按动了“确定”按钮!";

}

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