東坡下載:內(nèi)容最豐富最安全的下載站!

首頁(yè)IT技術(shù) → c#自定義消息框美化步聚

c#自定義消息框美化步聚

相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站原創(chuàng)時(shí)間:2013/5/26 21:17:19字體大。A-A+

更多

作者:不詳點(diǎn)擊:1097次評(píng)論:0次標(biāo)簽: 消息框美化

電子藥物手冊(cè)2.1 綠色免費(fèi)版
  • 類型:醫(yī)藥保健大。21KB語(yǔ)言:中文 評(píng)分:1.0
  • 標(biāo)簽:
立即下載

本人一直從事安防行業(yè)的編程,從VB到VB.NET,從VC到QT,從C#桌面開(kāi)發(fā)到C#嵌入式開(kāi)發(fā),輾轉(zhuǎn)多門語(yǔ)言,這幾天靜下心來(lái)思考,將很多項(xiàng)目中經(jīng)常用到的處理封裝起來(lái),以備后用,特別是近期接了幾個(gè)私活,如果用已經(jīng)封裝好的常用的處理來(lái)開(kāi)發(fā)的話,估計(jì)速度會(huì)加快很多,效率也會(huì)提高不少,特意準(zhǔn)備花幾個(gè)星期時(shí)間,將常用處理以及自定義控件集合到一個(gè)項(xiàng)目。

Windows自帶的消息框比較丑,特別是轉(zhuǎn)到WIN7下更加,項(xiàng)目中用到的消息框非常多,基本上有提示信息、錯(cuò)誤信息、詢問(wèn)信息這三種,從美觀角度,MessageBox.show()這個(gè)方法出來(lái)的消息框有點(diǎn)不盡人意,于是自己寫了一個(gè),個(gè)人覺(jué)得舒服些。

說(shuō)明:以下命名忽略了大小寫。

自定義信息框

系統(tǒng)信息框

自定義詢問(wèn)框

系統(tǒng)詢問(wèn)框

步驟1:

新建窗體frmMessageBox,放置一個(gè)picturebox(picICO)控件和一個(gè)label(labinfo)控件以及兩個(gè)panel控件,其中panel1里面放一個(gè)按鈕,命名為btnOk,文text屬性為確定(&O),dialogresult屬性設(shè)置為ok,這樣的話結(jié)束對(duì)話框之后會(huì)返回dialogresult.ok,這里為了能夠自適應(yīng)消息長(zhǎng)度而改變按鈕寬度和對(duì)話框?qū)挾,特意要放置兩個(gè)panel,另外一個(gè)panel放置兩個(gè)按鈕,一個(gè)是,一個(gè)否。

這樣的話相信你已經(jīng)知道這些控件的用處了吧,圖片框用來(lái)顯示對(duì)應(yīng)圖片,信息框的話就是一個(gè)大勾,詢問(wèn)框的話就是一個(gè)大問(wèn)號(hào),提前將資源添加到項(xiàng)目中,建議圖片文件命名最好info.png/error.png這樣的,到時(shí)候取資源的話好找,label用來(lái)顯示消息。

步驟2:

定義枚舉類型,這里定義了三種,你也可以自己增加。

public enum MessageBoxStyle

{

info=0,

question=1,

error=2

};

步驟3:

重寫構(gòu)造函數(shù)

public frmMessageBox(MessageBoxStyle messageBoxStyle,string msg)
        {
            InitializeComponent();
  
            if (messageBoxStyle == MessageBoxStyle.info)
            {
                picICO.Image = global::myAlarmSystem.Properties.Resources.info;
                this.Text = "提示";
                panel1.Visible = true;
                panel2.Visible = false;
            }
            else if (messageBoxStyle == MessageBoxStyle.question)
            {
                picICO.Image = global::myAlarmSystem.Properties.Resources.question;
                this.Text = "詢問(wèn)";
                panel1.Visible = false;
                panel2.Visible = true;
            }
            else if (messageBoxStyle == MessageBoxStyle.error)
            {
                picICO.Image = global::myAlarmSystem.Properties.Resources.error;
                this.Text = "錯(cuò)誤";
                panel1.Visible = true;
                panel2.Visible = false;
            }
  
            this.labInfo.Text = msg;
  
            SizeF size = TextRenderer.MeasureText(msg, new Font("宋體", 15, FontStyle.Regular));
              
            int TempWidth = (int)size.Width;
            if (TempWidth <= 249) { return; }
  
            this.Width = (int)size.Width + 130;
            this.panel1.Width = TempWidth-20;
            this.panel2.Width = TempWidth-20;
            btnYes.Width = TempWidth / 2 - 20;
            btnNo.Width = TempWidth / 2 - 20;
        }

 

擴(kuò)展知識(shí)

相關(guān)評(píng)論

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過(guò)難過(guò)
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無(wú)聊無(wú)聊
熱門評(píng)論
最新評(píng)論
第 3 樓 本機(jī)地址CZ88.NET 網(wǎng)友 客人 發(fā)表于: 2017/5/10 7:30:54
嗯,不错。

支持( 0 ) 蓋樓(回復(fù))

第 2 樓 廣東廣州電信 網(wǎng)友 客人 發(fā)表于: 2015/1/13 11:48:48
可以举例说明一下该怎么调用吗,例如点击删除按钮弹出提示框,操作完毕后改怎么返回原来的窗口和清空提示框缓存等问题,多谢

支持( 0 ) 蓋樓(回復(fù))

第 1 樓 河南洛陽(yáng)聯(lián)通ADSL 網(wǎng)友 客人 發(fā)表于: 2014/9/11 11:58:13
共和國(guó)價(jià)格

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)