本文实例讲述了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#程序设计有所帮助。
新闻热点
疑难解答