1、基於WINFORM下的選擇對話框
在WINFORM下,咱們能夠利用系統的對話框(MessageBox)來實現,具體思路是讀取MessageBox的返回值(YES或NO)來達到對操做的控制。下面是一個演示程序代碼代碼如:java
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」的按鈕」字樣。
2、基於WEBFORM下的選擇對話框
你們知道,在WEBFORM下,分前臺程序和後太程序,在WEBFORM的演示程序中,前臺程序主要放置一個Label控件和一個Button控件,前臺代碼以下:c#
<%@ 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>
後臺處理代碼以下:post
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()方法中對它能夠顯示的選擇按鈕進行設置。如下示例代碼能夠參考:this
不過須要先引入.net下的Microsoft.window.form這個引用,再using System.Window.Fromspa
// 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. }