C#中控件是如何知道自身被单击从而引发Click事件的
C#中控件是如何知道自身被单击从而引发Click事件的好像是通过Windows消息机制的吧?但我在程序中找不到与此相关这段代码? --------------------编程问答-------------------- 呵呵,找不到吗?敲override 然后看vs的提示,看看你还有多少没找过了位置 --------------------编程问答-------------------- 有一个叫wndproc的可以重写的函数,专门就是捕获消息,并且处理的。 --------------------编程问答-------------------- 人家都给你封装好了的。 --------------------编程问答--------------------
哪里有提示? --------------------编程问答--------------------
--------------------编程问答-------------------- 这个应该去c++里面找,c#都是封装好的。 --------------------编程问答-------------------- 5L 我想要的是函数的定义
6L C++的在哪找 --------------------编程问答--------------------
把vs的语言设成C++的? --------------------编程问答--------------------
我是说C++里Click的定义在哪找 --------------------编程问答-------------------- 你在Control类中可以查到相应的代码
应该是下面的,不过不是很确定
private void WmMouseDown(ref Message m, MouseButtons button, int clicks)
{
MouseButtons mouseButtons = MouseButtons;
this.SetState(0x8000000, true);
if (!this.GetStyle(ControlStyles.UserMouse))
{
this.DefWndProc(ref m);
}
else if ((button == MouseButtons.Left) && this.GetStyle(ControlStyles.Selectable))
{
this.FocusInternal();
}
if (mouseButtons == MouseButtons)
{
if (!this.GetState2(0x10))
{
this.CaptureInternal = true;
}
if ((mouseButtons == MouseButtons) && this.Enabled)
{
this.OnMouseDown(new MouseEventArgs(button, clicks, NativeMethods.Util.SignedLOWORD(m.LParam), NativeMethods.Util.SignedHIWORD(m.LParam), 0));
}
}
}
--------------------编程问答-------------------- --------------------编程问答--------------------
不清楚,我估计VS里你是看不到了的
补充:.NET技术 , C#