C#彈出對(duì)話框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼
一、基于WINFORM下的選擇對(duì)話框
在WINFORM下,我們可以利用系統(tǒng)的對(duì)話框(MessageBox)來實(shí)現(xiàn),具體思路是讀取MessageBox的返回值(YES或NO)來達(dá)到對(duì)操作的控制。下面是一個(gè)演示程序代碼代碼如:
private void button1_Click(object sender, System.EventArgs e) { label1.Text=""; DialogResult MsgBoxResult;//設(shè)置對(duì)話框的返回值 MsgBoxResult = MessageBox.Show("請(qǐng)選擇你要按下的按鈕",//對(duì)話框的顯示內(nèi)容 "提示",//對(duì)話框的標(biāo)題 MessageBoxButtons.YesNo,//定義對(duì)話框的按鈕,這里定義了YSE和NO兩個(gè)按鈕 MessageBoxIcon.Exclamation,//定義對(duì)話框內(nèi)的圖表式樣,這里是一個(gè)黃色三角型內(nèi)加一個(gè)感嘆號(hào) MessageBoxDefaultButton.Button2);//定義對(duì)話框的按鈕式樣 if (MsgBoxResult == DialogResult.Yes)//如果對(duì)話框的返回值是YES(按"Y"按鈕) { this.label1.ForeColor = System.Drawing.Color.Red;//字體顏色設(shè)定 label1.Text=" 你選擇了按下”Yes“的按鈕!"; } if(MsgBoxResult == DialogResult.No)//如果對(duì)話框的返回值是NO(按"N"按鈕) { this.label1.ForeColor = System.Drawing.Color.Blue;//字體顏色設(shè)定 label1.Text=" 你選擇了按下”No“的按鈕!"; } }
當(dāng)按動(dòng)對(duì)話框的“是”按鈕時(shí),顯示紅色字體“你選擇了按下“YES”的按鈕”字樣,如果你按動(dòng)了對(duì)話框的“否”按鈕將顯示藍(lán)色字體的“你選擇了按下“NO”的按鈕”字樣。
二、基于WEBFORM下的選擇對(duì)話框
大家知道,在WEBFORM下,分前臺(tái)程序和后太程序,在WEBFORM的演示程序中,前臺(tái)程序主要放置一個(gè)Label控件和一個(gè)Button控件,前臺(tái)代碼如下:
<%@ 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="改變顯示內(nèi)容"></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">這是初始顯示的內(nèi)容</asp:Label> </form> </body> </HTML>
后臺(tái)處理代碼如下:
private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack)//如果頁面不是第一次加載 { Button1.Attributes.Add("onclick", "return confirm('你要執(zhí)行這個(gè)操作嗎?');"); //當(dāng)按動(dòng)Button1按鈕時(shí)將首先彈出對(duì)話框,onclick表示按鈕觸發(fā)事件,return confirm()是對(duì)話框顯示的內(nèi)容。如果你選擇按下對(duì)話框中的"確定"按鈕,則執(zhí)行Button1_Click方法,否則不執(zhí)行。 } }
private void Button1_Click(object sender, System.EventArgs e) { Label1.Text="你選擇按動(dòng)了“確定”按鈕!"; }
這個(gè)程序的思路是:當(dāng)按動(dòng)“改變顯示內(nèi)容”按鈕時(shí),將會(huì)觸發(fā)一個(gè)按鈕事件,在執(zhí)行這個(gè)事件代碼之前,我們首先使用一個(gè)彈出對(duì)話框,對(duì)是否繼續(xù)執(zhí)行進(jìn)行確認(rèn),如果按動(dòng)對(duì)話框的“確定”按鈕,則繼續(xù)執(zhí)行事件代碼,在屏幕上顯示:你選擇按動(dòng)了“確定”按鈕,如果按動(dòng)了對(duì)話框的“取消”按鈕,則中止執(zhí)行。
使用JavaScript實(shí)現(xiàn)彈出對(duì)話框
javascript的對(duì)話框
Page.RegisterStartupScript("js", "<script>alert('畫面輸入不完整,請(qǐng)檢查重新輸入')</script>"); //Response.Write("<script language='javascript' type='text/javascript'>"); //Response.Write(" alert('AAA') "); //Response.Write("</script>");
使用Messagebox實(shí)現(xiàn):
不同于vb中可以直接使用msgbox來得到消息框的返回值,在c#中需要使用 dialogresult 類型的變量,從messagebox.show()方法接受消息對(duì)話框的返回值。至于messagebox.show()的返回值是 yes 、no, ok還是cancel,那需要自己在show()方法中對(duì)它可以顯示的選擇按鈕進(jìn)行設(shè)置。以下示例代碼可以參考:
不過需要先引入.net下的Microsoft.window.form這個(gè)引用,再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. }
到此這篇關(guān)于C#彈出對(duì)話框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼的文章就介紹到這了,更多相關(guān)C#彈出對(duì)話框確定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解C#中delegate/event/EventHandler/Action/Func的使用和區(qū)別
這篇文章主要為大家詳細(xì)介紹了C#中delegate、event、EventHandler、Action和Func的使用與區(qū)別,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-04-04C#實(shí)現(xiàn)rabbitmq 延遲隊(duì)列功能實(shí)例代碼
本篇文章主要介紹了C#實(shí)現(xiàn)rabbitmq 延遲隊(duì)列功能實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04C#實(shí)現(xiàn)TreeView節(jié)點(diǎn)拖拽的方法
這篇文章主要介紹了C#實(shí)現(xiàn)TreeView節(jié)點(diǎn)拖拽的方法,涉及C#針對(duì)TreeView節(jié)點(diǎn)的動(dòng)態(tài)添加及移除技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09C#開發(fā)windows服務(wù)實(shí)現(xiàn)自動(dòng)從FTP服務(wù)器下載文件
這篇文章主要為大家詳細(xì)介紹了C#開發(fā)windows服務(wù)實(shí)現(xiàn)自動(dòng)從FTP服務(wù)器下載文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03C#基礎(chǔ)知識(shí)之new關(guān)鍵字介紹
在 C# 中,new 關(guān)鍵字可用作運(yùn)算符、修飾符或約束,本文主要介紹這三種用法。2016-04-04