WinForm实现同时让两个窗体有激活效果的特效实例


本文实例讲述了WinForm实现同时让两个窗体有激活效果的特效。主要采用windows api实现一个窗体激活的时候给另外一个发消息。分享给大家供大家参考。

具体实现方法如下:

using System; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 
namespace WindowsApplication43 
{ 
  public partial class Form1 : Form 
  { 
    Form frm =null; 
    public Form1() 
    { 
      InitializeComponent(); 
      this.Activated += Form_Activated; 
    } 
    const int WM_NCACTIVATE = 0x86; 
    const int WA_ACTIVE = 0x1; 
    [DllImport("user32.dll", EntryPoint = "SendMessage")] 
    public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam); 
    private void button1_Click(object sender, EventArgs e) 
    { 
      frm = new Form(); 
      frm.Text = "jinjazz"; 
      frm.Activated += Form_Activated; 
      frm.Show(); 
      frm.Location = new System.Drawing.Point(this.Left + this.Width, this.Top); 
      SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); 
    } 
    void Form_Activated(object sender, EventArgs e) 
    { 
 
      SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); 
 
      if (frm != null) 
 
        SendMessage(frm.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); 
    } 
  } 
}

希望本文所述对大家的C#程序设计有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3