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#程序设计有所帮助。