WinForm实现同时让两个窗体有激活效果的特效实例
本文实例讲述了WinForm实现同时让两个窗体有激活效果的特效。主要采用windowsapi实现一个窗体激活的时候给另外一个发消息。分享给大家供大家参考。
具体实现方法如下:
usingSystem;
usingSystem.Windows.Forms;
usingSystem.Runtime.InteropServices;
namespaceWindowsApplication43
{
publicpartialclassForm1:Form
{
Formfrm=null;
publicForm1()
{
InitializeComponent();
this.Activated+=Form_Activated;
}
constintWM_NCACTIVATE=0x86;
constintWA_ACTIVE=0x1;
[DllImport("user32.dll",EntryPoint="SendMessage")]
publicstaticexternintSendMessage(IntPtrhWnd,intwMsg,intwParam,intlParam);
privatevoidbutton1_Click(objectsender,EventArgse)
{
frm=newForm();
frm.Text="jinjazz";
frm.Activated+=Form_Activated;
frm.Show();
frm.Location=newSystem.Drawing.Point(this.Left+this.Width,this.Top);
SendMessage(this.Handle,WM_NCACTIVATE,WA_ACTIVE,0);
}
voidForm_Activated(objectsender,EventArgse)
{
SendMessage(this.Handle,WM_NCACTIVATE,WA_ACTIVE,0);
if(frm!=null)
SendMessage(frm.Handle,WM_NCACTIVATE,WA_ACTIVE,0);
}
}
}
希望本文所述对大家的C#程序设计有所帮助。