怎样提取自顶消息中的参数 未处理的“System.MissingMethodException”类型的异常出现在 mscorlib.dll 中其他信息:没有为该对象定义无参数的构造函数。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考一下public class WM { public const int USER = 0x0400; public const int TEST1 = USER+1; } 我们在Form1中添加一个按钮,并为该按钮添加事件处理代码向主视窗发送TEST1自定义消息,具体代码如下: protected void button1_Click (object sender, System.EventArgs e) { SendMessage(WM.TEST1,100,200); } 消息已经发出了,在Form1中我们如何对该消息作出响应呢?我们可以重载 DefWndProc方法。 protected override void DefWndProc ( ref System.WinForms.Message m ) { switch(m.msg) { case WM.TEST1: ///string与MFC中的CString的Format函数的使用方法有所不同 string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam); MessageBox.Show(message);///显示一个消息框 break; default: base.DefWndProc(ref m);///调用基类函数处理非自定义消息。 break; } } 这样得到的参数不是我传的参数,是IntPtr类型的 我自己搞定了,自定义一个结构const int WM_MYDATA =0x10000;[DllImport("User32")]public static extern bool SendMessage( IntPtr hWnd, // handle to destination window int Msg, // message ref MyStruc wParam, // first message parameter ref MyStruc lParam // second message parameter );public struct MyStruc{ public string str;}protected override void WndProc(ref System.Windows.Forms.Message m) { if (m.Msg == WM_MYDATA) { MyStruc struc=new MyStruc(); struc=(MyStruc)m.GetLParam( struc.GetType()); MessageBox.Show( struc.str); return; } base.WndProc(ref m);}private void button1_Click(object sender, System.EventArgs e){ MyStruc struc=new MyStruc(); struc.str="收到消息"; SendMessage((IntPtr)(0xffff),WM_MYDATA, ref struc,ref struc); } 基础问题!是这样的吧? data 多用戶同時操作同一數據庫同一表 如何判断一个字符是否是中文? 请问有什么办法让C#的winform程序在没有安装.NET的机器上运行? 请问大家怎么给自己的控件命名? 怎样保存图片为空? DotNet下Active Directory编程技术的初级问题 为什么C#大家还没有能接受呢?! 高手进来帮帮忙:) 求救:怎么样把数据发送到串口以及从串口读取数据? 我的VS.net装了第二次,第一次运行正常,误删了部分文件后,重新安装后却发现....
{
public const int USER = 0x0400;
public const int TEST1 = USER+1;
} 我们在Form1中添加一个按钮,并为该按钮添加事件处理代码向主视窗发送TEST1自定义消息,具体代码如下:
protected void button1_Click (object sender, System.EventArgs e)
{
SendMessage(WM.TEST1,100,200);
} 消息已经发出了,在Form1中我们如何对该消息作出响应呢?我们可以重载 DefWndProc方法。 protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM.TEST1:
///string与MFC中的CString的Format函数的使用方法有所不同
string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
MessageBox.Show(message);///显示一个消息框
break;
default:
base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
break;
}
}
const int WM_MYDATA =0x10000;
[DllImport("User32")]
public static extern bool SendMessage(
IntPtr hWnd, // handle to destination window
int Msg, // message
ref MyStruc wParam, // first message parameter
ref MyStruc lParam // second message parameter
);
public struct MyStruc
{
public string str;
}
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg == WM_MYDATA)
{
MyStruc struc=new MyStruc();
struc=(MyStruc)m.GetLParam( struc.GetType());
MessageBox.Show( struc.str);
return;
}
base.WndProc(ref m);
}
private void button1_Click(object sender, System.EventArgs e)
{
MyStruc struc=new MyStruc();
struc.str="收到消息";
SendMessage((IntPtr)(0xffff),WM_MYDATA, ref struc,ref struc);
}