两则c#面试题

在.net(C# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
答案: this.Handle;

2. 在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。
答案:
自定义消息 public const int USER = 0x0400;
在form中重载DefWndProc函数来处理消息:
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{

case WM_Lbutton :
  ///string与MFC中的CString的Format函数的使用方法有所不同
  string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
  MessageBox.Show(message);///显示一个消息框
  break;
case USER:
处理的代码
default:
  base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
  break;
}
}