VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#教程之WinForm实现同时让两个窗体有激活效果的

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

具体实现方法如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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#程序设计有所帮助。


相关教程