zoukankan      html  css  js  c++  java
  • 1.窗体与界面设计-其他技术

    主要介绍如何创建和关闭 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);
            }
        }
    }
  • 相关阅读:
    [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ
    [安卓] 13、安卓蓝牙定位(一)——如何周期性获得蓝牙节点信号强度?
    [stm32] NRF24L01+USART搞定有线和无线通信
    [安卓] 12、开源一个基于SurfaceView的飞行射击类小游戏
    [安卓] 11、串口蓝牙·将软硬结合进行到底
    [安卓] 10、悬浮窗与获取其他任务信息
    [安卓] 9、线程、VIEW、消息实现从TCP服务器获取数据动态加载显示
    [安卓] 8、VIEW和SURFACEVIEW游戏框架
    [安卓] 7、页面跳转和Intent简单用法
    Git常用命令记录
  • 原文地址:https://www.cnblogs.com/iwanc/p/3140736.html
Copyright © 2011-2022 走看看