C#彈出選擇對話方塊的程式

來源:互聯網
上載者:User

很多時候,我們都用一個按鈕來觸發一個事件,從而達到實現某一功能的操作,如按下一個按鈕實現對資料庫某一記錄或某一批記錄進行刪除等等。通常我們要進行這些操作前都先要進行提示確認的步驟,這個提示步驟是:當使用者作某一操作時,首先彈出一個操作確認選擇對話方塊,使用者後確認後,操作才能有效執行,否則中止操作。這樣做既可以給使用者提供一個很好的操作介面,也防止了誤操作的發生。

下面就討論一下用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“的按鈕!";

         }

}

代碼運行後的結果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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.