CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

标准事件触发问题,谁有办法?

楼主sunml_asp(二吊子)2006-03-01 09:52:36 在 .NET技术 / VB.NET 提问

我把一个自定义控件作在DLL里面,然后在控件的程序里面想触发鼠标的标准事件(mouseUp),触发之后,调用这个DLL的控件的程序相应的事件的程序就可以相应了。怎么办?  
  就是这个意思:  
  RaiseEvent--〉触发mouseUp(标准事件)[之前为DLL中代码]--------->[之后为EXE中代码]Sub   cboCorpor_MouseUp(...)(被触发)代码该怎么写?谢谢各位! 问题点数:50、回复次数:9Top

1 楼zhouxiaotan(夜雨悠扬)回复于 2006-03-01 10:38:58 得分 0

使用委托,  
  Private   fromMouseEvent   As   System.Windows.Forms.MouseEventHandler  
  然后调用的时候,使用Addressof的方法将Sub   cboCorpor_MouseUp的地址传给他  
  触发mouseUp(标准事件)   之中使用fromMouseEvent.Invoke(...)就可以将事件传出去了Top

2 楼sunml_asp(二吊子)回复于 2006-03-01 11:02:22 得分 0

可是我不想做委托,我想直接触发系统的标准事件,不能吗?  
  Top

3 楼zhouxiaotan(夜雨悠扬)回复于 2006-03-01 11:14:03 得分 40

方法一,可以把系统事件委托给Dll的Mouse事件,方法就是上面的那个样子  
  方法二,在Dll公布事件,在Dll里面触发,在外面使用,方法如下  
  Dll中  
  public   Event   MouseUpA(...)  
  触发mouseUp(标准事件)   RaiseEvent   MouseUpA(...)  
   
  Exe中  
  private   Event   cboCorpr....  
  下面这一部分可以看成标准事件,可以使用标准的事件名进行,我为了说明采用了不同的名字  
  private   sub   cboCorpr_mouseupA(...)   handles   cboCorpr.MouseupA  
  ...  
  end   sub  
  Top

4 楼intern9901()回复于 2006-03-01 12:29:09 得分 10

在DLL中直接Call就行了阿。当然参数全是Nothing了,因为不可能有鼠标的坐标之类的东西了。Top

5 楼sunml_asp(二吊子)回复于 2006-03-01 13:59:16 得分 0

zhouxiaotan(夜雨悠扬)   :您好!我不想再EXE的工程里添加任何代码,只是在Dll中加代码,让Dll的代码直接触发MouseUp。换个说法,我就是想在DLL中触发EXE的Sub   ****_MouseUp(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   cboCorpor.MouseUp,能行吗?  
  intern9901()   :我直接CALL,怎么做啊,没有EXE的命名空间啊?调用不了啊Top

6 楼zhouxiaotan(夜雨悠扬)回复于 2006-03-01 14:38:40 得分 0

哦,我的第二种方法就是呀,  
  最起码的控件你总得声明吧,而这个控件有一个事件就是mouse_up,在这里面写代码就行了Top

7 楼sunml_asp(二吊子)回复于 2006-03-01 15:54:57 得分 0

zhouxiaotan(夜雨悠扬):  
  您在EXE中的函数是;private   sub   cboCorpr_mouseupA(...)   handles   cboCorpr.MouseupA  
  我想要的效果是private   sub   cboCorpr_mouseupA(...)   handles   cboCorpr.Mouseup  
  MouseupA-〉Mouseup,就是用系统的那个事件的定义,不用自己定义的MouseupA。Top

8 楼zhouxiaotan(夜雨悠扬)回复于 2006-03-01 16:00:01 得分 0

哦,  
  你在DLL里面,使用下面的语句定义就是了  
  public   Shadows   Event   Mouseup(...)  
   
  这时候外面的就是Mouseup而不是MouseupA了Top

9 楼sunml_asp(二吊子)回复于 2006-03-02 15:53:40 得分 0

zhouxiaotan(夜雨悠扬)   :  
  果然可以,哈哈,谢谢了,结贴,给分Top

相关问题

  • 事件触发
  • OnCalcFields事件触发
  • Button触发事件
  • 有没有办法触发鼠标的右键,另存事件?(asp.net C#)
  • asp.net中有办法让checkbox选中之后就触发事件吗?
  • AxWebBrowser的WindowClosing事件无法触发!请教高手解决办法
  • 请问:动态给checkbox组赋值,总要触发onclick事件,很影响速度.onclick事件只想在鼠标点击时触发,有没有办法.
  • 怎样触发OnFilterRecord事件
  • TimerSetEvent如何触发事件?
  • 咋样触发MultiPage1.SelectedIndexChange事件

关键词

  • dll
  • 代码
  • 控件
  • 系统
  • mouseupa
  • 触发
  • cbocorpr
  • mouseup
  • 事件
  • cbocorpor

得分解答快速导航

  • 帖主:sunml_asp
  • zhouxiaotan
  • intern9901

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo