实例033 制作闪烁的窗体

实例033 制作闪烁的窗体_第1张图片

 

实例说明

Windows系统中,当程序在后台运行时,如果某个窗口的提示信息需要用户浏览,该窗口就会不停的闪烁,这样就会吸引用户的注意。同样,如果在自己的程序中使某个窗口不停的闪烁就会吸引用户的注意。本例设计了一个闪烁的窗体,运行程序,单击【开始闪烁】按钮,窗体就会不停的闪烁,单击【停止】按钮,窗体就会停止闪烁。本例运行效果如图1.33所示。

技术要点

Windows提供了一个API函数FlashWIndow,该函数可以使窗体闪烁一下。FlashWIndow函数在C#中声明如下:

        [System.Runtime.InteropServices.DllImportAttribute("user32.dll")]

        public static extern bool FlashWindow(IntPtr handle, bool bInvert);

参数说明如下。

l     handle:表示将要闪烁的窗体。

l     bInvert:是否恢复状态。

利用该函数只能使窗体闪烁一下,如果让窗口不停地闪烁,就需要用一个Timer控件每隔一段时间就调用该函数使窗体闪烁。

实现过程

(1)创建一个项目,将其命名为Ex01_33,默认窗体为Form1。

(2)在窗体上添加PictureBox控件用来显示窗体;添加Button、Timer控件用来开始和停止闪烁。

(3)设置PictureBox控件的Image属性。

(4)主要程序代码。

timer1的Tick事件处理代码如下:

        private void timer1_Tick(object sender, EventArgs e)

        {

            FlashWindow(this.Handle,true);

        }

【开始闪烁】按钮的单击事件,用来启动窗体闪烁:

        private void button1_Click(object sender, EventArgs e)

        {

            timer1.Enabled = true;

        }

【停止】按钮的单击事件,用来停止窗体的闪烁:

        private void button2_Click(object sender, EventArgs e)

        {

            timer1.Enabled = false;

        }

举一反三

根据本实例,读者可以开发以下程序。

  利用Visible属性制作一个闪烁的图片。

  制作一个闪烁的按钮。

你可能感兴趣的:(Winform,c#)