WinForm特效:同时让两个窗体有激活效果

windows api,一个窗体激活的时候给另外一个发消息

[csharp]  view plaincopy
  1. using System;  
  2.   
  3. using System.Windows.Forms;  
  4.   
  5. using System.Runtime.InteropServices;  
  6.   
  7. namespace WindowsApplication43  
  8.   
  9. {  
  10.   
  11.     public partial class Form1 : Form  
  12.   
  13.     {  
  14.   
  15.         Form frm =null;  
  16.   
  17.         public Form1()  
  18.   
  19.         {  
  20.   
  21.             InitializeComponent();  
  22.   
  23.             this.Activated += Form_Activated;  
  24.   
  25.         }  
  26.   
  27.         const int WM_NCACTIVATE = 0x86;  
  28.   
  29.         const int WA_ACTIVE = 0x1;  
  30.   
  31.         [DllImport("user32.dll", EntryPoint = "SendMessage")]  
  32.   
  33.         public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam);  
  34.   
  35.         private void button1_Click(object sender, EventArgs e)  
  36.   
  37.         {  
  38.   
  39.             frm = new Form();  
  40.   
  41.             frm.Text = "jinjazz";  
  42.   
  43.             frm.Activated += Form_Activated;  
  44.   
  45.             frm.Show();  
  46.   
  47.             frm.Location = new System.Drawing.Point(this.Left + this.Width, this.Top);  
  48.   
  49.             SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);  
  50.   
  51.         }  
  52.   
  53.         void Form_Activated(object sender, EventArgs e)  
  54.   
  55.         {  
  56.   
  57.             SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);  
  58.   
  59.             if (frm != null)  
  60.   
  61.                 SendMessage(frm.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);  
  62.   
  63.         }  
  64.   
  65.     }  
  66.   
  67. }  

转载于:https://www.cnblogs.com/gc2013/p/3979423.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值