欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【.NET图像界面按钮的clicked事件浅谈】,下面是详细的讲解!
.NET图像界面按钮的clicked事件浅谈
但是事件并不局限于图像界面,也可能是满足程序的某个逻辑判断触发了事件。引发事件的对象叫做事件发送方,捕获事件并对其做出响应的对象叫做事件接收方。但是事件发送方并不知道哪个对象或者方法会处理它引发的事件,所以需要在事件发送方和事件接收方之间存在一媒介,明确某个对象或者某个类型的某个方法会对这个事件进行响应。.NET用委托作为事件发送方与事件接收方之间的媒介,委托只有一个签名,只要方法签名与委托签名匹配的方法,都可以声明自己对这个委托类型的事件的感兴趣,接收并处理它。
事件发送方的对象为了给事件接收对象传递一些额外信息,就需要写一个派生于System.EventArgs的类,封装一些数据。
下面声明一委托,该委托有两个参数,一个是参数代表事件的发送方,另一个是参数是该事件封装的数据。
public delegate void ShapeSizeChanged(objectsender,DrawEventArgs e);
ShapeSizeChanged的实例可以绑定到任何和它方法签名匹配的方法上。
下面是自定义事件委托,
public event ShapeSizeChanged SizeChanged;
下面是一个负责引发事件的类型代码,
而后定义两个监听事件的类型,
测试代码,
.NET中的事件模式和观察者模式非常相似,也可谓是观察者模式在.NET下的进化版吧,下面用观察者模式实现上面功能以做对比,首先定义两个接口,IObserver和IObservable,如下
下面是改写后的两个观察者类,
下面是负责通知观察者的类型,
下面是调用代码,
最好运行下代码,这样可以更easy的理解这两种模式微妙的差别了。
对事件来说,还可以显式的用add和remove编写事件访问器,事件访问器通常有编译器生成,所以可以显式的用事件访问器修改DrawManager类型,
关于.NET图像界面按钮的clicked事件浅谈的用户互动如下:
相关问题:java图像界面编程怎么“重置”按钮不起作用
答:通篇代码没看到你哪里给reset绑定过事件。怎么会有反应? >>详细
相关问题:java图形界面中定义一个“浏览”按钮,点击可以打开...
答:在按键事件监听方法加入以下代码: //初始化文件选择框 JFileChooser fDialog = new JFileChooser(); //设置文件选择框的标题 fDialog.setDialogTitle("请选择音频文件"); //弹出选择框 int returnVal = fDialog.showOpenDialog(null); // 如果... >>详细
相关问题:C#WinForm 双缓冲技术,求助! 按钮太多,更改按钮...
答:你好,我曾经处理过这样的问题. 我推测你肯定是使用了source来加载图片,这样的确会造成界面闪烁刷新问题.即使开了双缓冲效果也不明显.所以请使用Graphics类进行绘制,在paint事件中调用即可.网上又很多这样例子,希望能解决你的问题. >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 【asp】asp.net 页面转向 Response.Redirect Ser
- 【jQuery】jQuery实现倒计时跳转的例子-倒计时跳
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
