1. 程式人生 > 程式設計 >C#彈出對話方塊確定或者取消執行相應操作的例項程式碼

C#彈出對話方塊確定或者取消執行相應操作的例項程式碼

一、基於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. 
}

到此這篇關於C#彈出對話方塊確定或者取消執行相應操作的例項程式碼的文章就介紹到這了,更多相關C#彈出對話方塊確定內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!