是什么行为让工作了
button1.Click+= new EventHandle(MyEvent);void MyEvent(object sender, EventArgs e){
//弹出Click
} --------------------编程问答-------------------- 同event的工作原理。 --------------------编程问答-------------------- 具体如何实现啊 --------------------编程问答-------------------- button内部触发了事件。
过程是,你按下鼠标,鼠标向CPU发出硬件中断(现代计算机是向IO处理器发送),CPU执行一个中断处理程序(操作系统内核,或者说驱动程序实现了这个功能),将发来的数据解析成鼠标操作,然后调用UI子系统,丢给对应窗口一个消息。.NET Framework将消息转换成对控件的单击方法调用,这个方法调用事件处理委托链上的方法,于是MyEvent被触发了。 --------------------编程问答-------------------- 总而言之,C#的事件机制是基于Windows的消息处理机制。
你要继续深究的话,就看看Windows的消息处理机制吧。 --------------------编程问答-------------------- 如同党跟我讲怎么共同富裕。因为我不知道,所以我要知道,我具体代码怎么实现。 --------------------编程问答-------------------- 这情境是不是相当于,我在明处中了一箭,我是不知道谁射了我,我只知道我被射了? --------------------编程问答--------------------
你的思维方式有点发散,可能不太适合编程工作,程序员要求很逻辑、很严密、很迂腐。。。 --------------------编程问答-------------------- lz 真tm 思维发散。。 学习了。 --------------------编程问答--------------------
没错,这样很好。因此一个按钮不依赖按钮调用程序,它才成为可以被反复使用的软件组件。 --------------------编程问答--------------------
我并不想表达是否依赖,我想说的是,通过sender我就能知道是谁射的箭,但我想知道他通什么方式,是Click还Leave是Enter还是Resize? --------------------编程问答-------------------- 在 form.designer.cs 有类似如下的代码:
button1.Click += new EventHandler(button1_Click);
这就把 button1_Click() 和 Click 关联起来了。 --------------------编程问答--------------------
你完全搞反了。
这就相当于,你扔去一堆简历,然后等着人家给你打电话。 --------------------编程问答--------------------
事件是标准的接口中预先定义好了的。人家在接口上开放一个事件,你正是因为理解了它所以才注册它的回调。不知道“是Click还Leave是Enter还是Resize”你又何必盲目注册监听呢?
至于说人家内部如何触发,我想去另外花20分钟学一下c#好了,比在Csdn问要快多了。 --------------------编程问答--------------------
不完全正确,大多数情况下,你可以通过sender知道是谁射了你,但是这里的重点是:你不关心什么时候会被射。。。。你只需要注册一个handler预先准备着,这样不管你什么时候被射,你都可以做出反应。 --------------------编程问答--------------------
就这么的被盲目了,沟通就是就是好高的门槛。你若懂若愿就请你慷慨的以你所知讲一讲流程。你不想或不愿就少费口水让我在自己的路上多走一会吧。谢谢。
补充:.NET技术 , C#