C#判断根据消息判断窗体的事件(WINFROM)
2008-12-31 16:57
477 查看
直接在form加入下面代码 更改switch里的判断
public enum SysParam
{
MaxSize = 61488,
MinSize = 61472,
Close = 61536,
Restore=61728,
Top = 61443,
Down = 61446,
Left = 61441,
Right = 61442,
TitleClick = 61458,
TitleDoubleClick = 61490,
IconMenu=61587,
TopLeft=61444,
TopRight=61445,
DownLeft=61447,
DownRight=61448,
ScroolX=61574,
ScroolY=61559
}
/// <summary>
/// 消息处理
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0112) //系统消息
{
switch (m.WParam.ToInt32())
{
case (int)SysParam.Close:
break;
case (int)SysParam.MaxSize:
break;
case (int)SysParam.MinSize:
break;
case (int)SysParam.Restore:
break;
case (int)SysParam.Top:
break;
case (int)SysParam.Down:
break;
case (int)SysParam.Left:
break;
case (int)SysParam.Right:
break;
case (int)SysParam.TitleClick:
break;
case (int)SysParam.TitleDoubleClick:
break;
case (int)SysParam.IconMenu:
break;
case (int)SysParam.TopLeft:
break;
case (int)SysParam.TopRight:
break;
case (int)SysParam.DownLeft:
break;
case (int)SysParam.DownRight:
break;
case (int)SysParam.ScroolX:
break;
case (int)SysParam.ScroolY:
break;
default:
listView1.Items.Add(m.WParam.ToInt32().ToString());
break;
}
}
base.WndProc(ref m);
}
public enum SysParam
{
MaxSize = 61488,
MinSize = 61472,
Close = 61536,
Restore=61728,
Top = 61443,
Down = 61446,
Left = 61441,
Right = 61442,
TitleClick = 61458,
TitleDoubleClick = 61490,
IconMenu=61587,
TopLeft=61444,
TopRight=61445,
DownLeft=61447,
DownRight=61448,
ScroolX=61574,
ScroolY=61559
}
/// <summary>
/// 消息处理
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0112) //系统消息
{
switch (m.WParam.ToInt32())
{
case (int)SysParam.Close:
break;
case (int)SysParam.MaxSize:
break;
case (int)SysParam.MinSize:
break;
case (int)SysParam.Restore:
break;
case (int)SysParam.Top:
break;
case (int)SysParam.Down:
break;
case (int)SysParam.Left:
break;
case (int)SysParam.Right:
break;
case (int)SysParam.TitleClick:
break;
case (int)SysParam.TitleDoubleClick:
break;
case (int)SysParam.IconMenu:
break;
case (int)SysParam.TopLeft:
break;
case (int)SysParam.TopRight:
break;
case (int)SysParam.DownLeft:
break;
case (int)SysParam.DownRight:
break;
case (int)SysParam.ScroolX:
break;
case (int)SysParam.ScroolY:
break;
default:
listView1.Items.Add(m.WParam.ToInt32().ToString());
break;
}
}
base.WndProc(ref m);
}
相关文章推荐
- C#中在窗体间使用消息来处理相关联的事件
- C#中在窗体间使用消息来处理相关联的事件
- C#窗体之间传递消息和事件
- 利用System.EventHandler来实现两个窗体间的事件调用 (C#)
- C#(Winfrom)窗体传值问题(子窗体回传值给父窗体)
- C# 捕获窗体最小化、最大化事件
- C#中如何截取Windows消息来触发自定义事件
- 用消息实现窗体的 MouseDown 事件
- C#窗体无法接受Keydown事件
- C#无边框窗体移动 将事件绑定到想实现的控件上
- C#winfrom 窗体最小化事件
- 微信点击图文消息链接 在根据判断跳到另一个页面 但是 点关闭 将当前的关闭之后 会出现空白页
- C# 基于消息机制,类似Android Hander,后台和窗体消息交互
- C#的Unit Test如何根据exception来判断函数是否执行正确
- C#窗体鼠标事件区分单击双击
- c#.net 的窗体关闭事件
- C#的MDI窗体判断子窗体是否已经打开
- .NET(C#) win Form窗体的常用属性以及事件
- 【C#基础】之WinForm窗体常用控件的属性、方法及事件简介
- [转]C#WinForm窗体事件执行次序