在C#中使用消息处理

public const int WM_USER = 0x400; public const int WM_MYBUTTONCLICK = WM_USER + 100; [DllImport("user32", EntryPoint = "SendMessage")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); protected override void WndProc(ref Message m) { if (m.Msg == WM_MYBUTTONCLICK) { MessageBox.Show("MyButton Click"); } else { base.WndProc(ref m); } } private void button1_Click(object sender, EventArgs e) { SendMessage(this.Handle, WM_MYBUTTONCLICK, 0, 0); }

在上面的例子中定义一个鼠标消息,当鼠标移动到一个对象时触发这个消息!

 

系统消息定义从0到0x3FF,可以使用0x400到0x7FFF定义自己的消息。Windows把0x400定义为WM_USER。如果定义自已的一个消息,可以在WM_USER上加一个值。

你可能感兴趣的:(windows,object,user,C#,button)