程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 1.窗體與界面設計-其他技術

1.窗體與界面設計-其他技術

編輯:C#入門知識

主要介紹如何創建和關閉 MDI 窗體,在大型項目和產品的開發中常常將系統設計為 MDI 界面。

047 禁用窗口上的關閉按鈕

本實例主要用到窗口處理函數 WndProc 的重寫方法,在該方法內部截獲單擊關閉窗口的信息,從而實現禁用關閉按鈕的功能。

創建一個項目,默認窗體為 Form1,在 Form1 窗體上添加一個 MenuStrip 控件。

namespace _047_ForbidCloseButton
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //程序加載完成後,當用鼠標單擊窗體上的關閉按鈕時,通過方法WndProc截獲關閉信息實現屏蔽
        protected override void WndProc(ref Message m)
        {
            const int WM_SYSCOMMAND = 0x0112;
            const int SC_CLOSE = 0xF060;
            if ((m.Msg == WM_SYSCOMMAND) && ((int)m.WParam == SC_CLOSE))
            {
                return;
            }
            base.WndProc(ref m);
        }

        //當退出應用程序時,選擇菜單欄中“文件”菜單下的“退出”選項即可
        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit(); //退出應用程序
        }
    }
}

048 實現動態系統托盤圖標

本實例主要用到 Timer 組件的 Tick 事件,在該事件中實現圖標的閃爍。

創建一個項目,默認窗體為 Form1,在 Form1 窗體上添加一個 GroupBox 控件、兩個 Button 控件、一個 NotifyIcon 控件以及一個 Timer 組件。設置 Timer 組件的 Interval 屬性值為 400。

namespace _048_DynamicStockIcon
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        #region 本程序聲明的變量
        public static bool flag = false;
        #endregion
        
        //當點擊“閃爍”按鈕時,圖標出現閃動效果
        private void flicker_Click(object sender, EventArgs e)
        {
            stocktimer.Enabled = true;  //啟動計時器stocktimer
        }

        //當點擊“停止”按鈕時,圖標閃動效果消失
        private void cease_Click(object sender, EventArgs e)
        {
            stocktimer.Enabled = false; //關閉計時器stocktimer
            stockIcon.Icon = Properties.Resources._1;   //設置NotifyIcon控件的圖標
        }

        //圖標的閃爍是通過計時器stocktimer的Tick事件
        private void stocktimer_Tick(object sender, EventArgs e)
        {
            if (flag == false)                              //當標識值為假時
            {
                stockIcon.Icon = Properties.Resources._1;   //設定NotifyIcon控件的圖標
                flag = true;                                //修改標識值為真
            }
            else
            {
                stockIcon.Icon = Properties.Resources._2;   //設定NotifyIcon控件的圖標
                flag = false;                               //修改標識值為假
            }
        }
    }
}

049 實現氣泡提示窗口

本實例主要用到 NotifyIcon 控件的 ShowBalloonTip 方法,該方法用於在任務欄中持續顯示具有指定標題、文本和圖標的氣泡提示的指定時間。

創建一個項目,默認窗體為 Form1,在 Form1 窗體上添加一個 GroupBox 控件、兩個 Button 控件以及一個 NotifyIcon 控件。

namespace _049_AlveoliClewWindow
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void clewButton_Click(object sender, EventArgs e)
        {
            this.notifyIcon1.Visible = true;    //設置NotifyIcon控件的可見性為真
            //顯示氣泡提示
            this.notifyIcon1.ShowBalloonTip(1000, "當前時間:", DateTime.Now.ToLocalTime().ToString(), ToolTipIcon.Info);
        }

        private void closeButton_Click(object sender, EventArgs e)
        {
            this.notifyIcon1.Visible = false;    //設置NotifyIcon控件的可見性為假
        }

        private void notifyIcon1_MouseMove(object sender, MouseEventArgs e)
        {
            //當光標移過NotifyIcon控件時將自動彈出提示信息
            this.notifyIcon1.ShowBalloonTip(1000, "當前時間:", DateTime.Now.ToLocalTime().ToString(), ToolTipIcon.Info);
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved