WinForm 窗体闪烁 & 任务栏提示

准备:

 1 [DllImport("user32.dll")]
 2 static extern bool FlashWindowEx(ref FLASHWINFO pwfi);
 3
 4 [DllImport("user32.dll")]
 5 static extern bool FlashWindow(IntPtr handle, bool invert);
 6
 7 [StructLayout(LayoutKind.Sequential)]
 8 public struct FLASHWINFO
 9 {
10     public UInt32 cbSize;
11     public IntPtr hwnd;
12     public UInt32 dwFlags;
13     public UInt32 uCount;
14     public UInt32 dwTimeOut;
15 }
16
17 public const UInt32 FLASHW_STOP = 0x00000000;
18 public const UInt32 FLASHW_CAPTION = 0x00000001;
19 public const UInt32 FLASHW_TRAY = 0x00000002;
20 public const UInt32 FLASHW_ALL = 0x00000003;
21 public const UInt32 FLASHW_TIMER = 0x00000004;
22 public const UInt32 FLASHW_TIMERNOFG = 0x0000000C

事件

 1 private void button1_Click(object sender, EventArgs e)
 2 {
 3   //闪烁
 4   FLASHWINFO fi = new FLASHWINFO();
 5
 6   fi.cbSize = (uint)Marshal.SizeOf(fi);
 7   fi.hwnd = this.Handle;
 8   fi.dwFlags = FLASHW_TIMER | FLASHW_ALL;
 9   fi.uCount = 5;
10   fi.dwTimeOut = 75;
11
12   FlashWindowEx(ref fi);
13 }
14
15 private void button2_Click(object sender, EventArgs e)
16 {
17     //任务栏消息提示
18     this.WindowState = FormWindowState.Minimized;
19     FlashWindow(this.Handle, true);
20 }
时间: 2024-10-13 23:44:53

WinForm 窗体闪烁 & 任务栏提示的相关文章

c# winform窗体闪烁解决方法

在主窗体中任意位置加上下面的代码即可 protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } } c# winform窗体闪烁解决方法

C# winForm 窗体闪烁问题

如果你在Form中绘图的话,不论是不是采用的双缓存,都会看到图片在更新的时候都会不断地闪烁,解决方法就是在这个窗体的构造函数中增加以下三行代码: 请在构造函数里面底下加上如下几行:SetStyle(ControlStyles.UserPaint, true);SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲 参数说明: U

解决winform窗体闪烁问题

如果你在Form中绘图的话,不论是不是采用的双缓存,都会看到图片在更新的时候都会不断地闪烁,解决方法就是在这个窗体的构造函数中增加以下三行代码: 请在构造函数里面底下加上如下几行: SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲 参数说明

WinForm 窗体属性 窗体美化

WinForm是·Net开发平台中对Windows Form的一种称谓. Windows窗体的一些重要特点如下: 功能强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序. 操作方便:新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server.Microsoft Access.Jet.DB2以及Oracle等. 使用安全:Windows窗体充分利用公共语言运行库的安全特性.这就意味着,

winform窗体程序运行后怎样隐藏?

运行winform窗体,我们是怎样隐藏的呢? 例子: 1)创建简单winform窗体 2)编写隐藏窗体程序的代码 3)效果演示 1)创建一个简单的winform窗体MainForm, 这样运行后,在任务栏能看到窗体,怎样隐藏,在load事件中加上 //窗体最小化显示    this.WindowState = FormWindowState.Minimized;    //不显示在任务栏中    this.ShowInTaskbar = false; 可以通过设置窗体最小化运行,不显示在任务栏,

delphi实现窗体闪烁功能

delphi实现窗体闪烁功能 以前做窗口闪动时都没有考虑到让任务栏上的按钮闪动的问题, 现在一个客户需要任务栏按钮闪动,发现以前使用的flashwindow不能达到要求了, 查找了一下,找到flashwindowex这个API 如果您创建的应用程序是运行在Windows 98或更高版本操作系统上,您可以通过调用API函数FlashWindowEx并赋给它一个FlashWInfo结构体来实现. 而如果是运行在Windows 95上则比较麻烦, 但您也可以通过使用一个Timer组件来实现想要的效果.

winform窗体继承泛型类时,设计器无法使用解决办法

当我们使用winform程序时,winform窗体程序和控件程序都是可以通过设计器进行控件拖拽的,但如果我们继承了一个带有泛型的form基类.那么设计器是无法使用的. 目前我没有找到根本解决的办法,但可以间接解决无法调试的问题. 下面具体说明如何实现 比如我们有FormA,BaseForm<Entity>, FormA : BaseForm<XXX> 这样直接继承是无法使用设计器的. 需要增加一个临时的form类,比如TempForm. 由TempForm先继承BaseForm, 

winForm窗体最大化的设置

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

winform窗体中查找控件

private RichTextBox FindControl()        { RichTextBox ret = null;            try            {                Control[] controls = Application.OpenForms["MainForm"].Controls.Find("txtContent", false);                if (controls != nul