请问各位大侠c#中的事件问题!

问题描述

各位高手:小弟初学C#还有很多不理解的地方,比如C#中的事件,我感觉比较难理解,尤其是自己写事件更难了,老师说事件不用自己写,但我想问各位一下以后到底用不用自己写事件?

解决方案

解决方案二:
谢谢各位高手的指点,小弟初学见笑了!
解决方案三:
对象.事件+=然后按“Tab"键,在按”Tab“键,事件自动生成。
解决方案四:
我也一直是像楼上那样使用的.没自己彻底手写实现过
解决方案五:
自定义事件用delegate.举一个简单例子,Form1为主窗口,Form2为子窗口.点击Form1上的按钮弹出Form2,然后点击Form2上的按钮将Form2的相关数据传递给Form1.Form2窗口的主要代码:首先定义代理publicdelegate[返回值类型][delegateName](参数列表);这里的参数可以是string,int等类型,也可以按标准的事件参数,如:publicdelegatevoidTextChange(objectsender,EventArgsargs)然后定义事件publicevent[delegateName][name];publicdelegatevoidGetForm(stringvalue);publiceventGetFormGetFormHandle;publicdelegatevoidGetArgs(objectsender,MyEventArgsargs);publiceventGetArgsGetButtonArgs;privatevoidbutton1_Click(objectsender,EventArgse){if(this.GetFormHandle!=null){this.GetFormHandle(this.textBox1.Text);}this.Close();}privatevoidbutton2_Click(objectsender,EventArgse){if(this.GetButtonArgs!=null){this.GetButtonArgs(sender,newMyEventArgs(this.textBox1.Text,this.button2.Text));}this.Close();}

publicclassMyEventArgs:EventArgs{privatestringname;privatestringtitle;publicMyEventArgs(stringname,stringtitle){this.name=name;this.title=title;}publicstringName{get{returnthis.name;}set{this.name=value;}}publicstringTitle{get{returnthis.title;}set{this.title=value;}}}

Form1窗口的主要代码:privatevoidbutton1_Click(objectsender,EventArgse){Form2f=newForm2();f.GetFormHandle+=newForm2.GetForm(f_GetFormHandle);f.GetButtonArgs+=newForm2.GetArgs(f_GetButtonArgs);f.Show();}voidf_GetButtonArgs(objectsender,MyEventArgsargs){MessageBox.Show(((Button)sender).Text+args.Name+args.Title);return;}publicvoidf_GetFormHandle(stringvalue){this.textBox1.Text=value;}

解决方案六:
事件就是发生某件事情比如“单击button1按钮”就是button1_click事件这个是不用写而事件里面的代码表示这个事件发生以后产生的结果如何,这是必须要写的不知道你说的是不是“方法”方法要自己写,然后你可以随时调用他c#里面的难点是委托,事件挂钩,和多线程结合使用,建议你多看看书
解决方案七:
看应用情况,有些时候用事件恰当好处,参考例子,http://blog.csdn.net/zhzuo/archive/2004/06/15/22038.aspxhttp://blog.csdn.net/zhzuo/archive/2004/04/02/22026.aspx

时间: 2024-10-26 05:24:04

请问各位大侠c#中的事件问题!的相关文章

c#中关于事件的继承问题

问题描述 问题如下:现在有一个classA,该类中有一个事件message:新建一个类classB,我希望在classB中能够完整的继承message事件:(代码如何处理??)而后classC:classB,我可以使用message事件.不知道我的问题表述清楚没有,希望得到各位大侠的回答,谢谢啊 解决方案 本帖最后由 gaishe 于 2011-06-10 16:31:58 编辑解决方案二:现在的不完整吗...解决方案三:只要该eventhandler是protected或public的,就可以

div布局-请问怎么让div中的div在垂直方向上居中呢?

问题描述 请问怎么让div中的div在垂直方向上居中呢? 比如:下面这段代码,如何让里面的div在垂直方向上面居中呢(不好意思,实在是没有悬赏币了) .out{ width:500px; height:500px; background:blue;}.inn{ width:200px; height:200px; background:red;} 解决方案 你的inn怎么比out还大..搞反了吧..通过margin来定位.absolute定位最好,不需要考虑父容器,只需要依据自身的宽和高度来调整

请问在调用自定义控件的button事件时会有空指针错误

问题描述 请问在调用自定义控件的button事件时会有空指针错误 出错的代码如下,是菜单中的按钮事件,点击就会出现空指针错误.如果把setOnClickListener注释掉就不会出错.请问各位为什么会报错呢?代码如下. public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case 1: LayoutInflater inflater = getLayoutInflater(); View

调用自定义资源-新手求教,请问如何调用resx中的自定义资源,没有金币,谢谢大家

问题描述 新手求教,请问如何调用resx中的自定义资源,没有金币,谢谢大家 如图,我往资源文件FP.zh-Hans.resx里边加了一个key叫"zzz",值是"啦啦啦",请问代码该如何掉用之,请大侠指点一二 解决方案 ResourceManager rm = new ResourceManager("MissionPlanner.GCSViews.FlightPlanner.zh-Hans.resx", System.Reflection.As

请问VB 6.0中怎么才能实现程序图标的拖动

问题描述 请问VB 6.0中怎么才能实现程序图标的拖动 请问VB 6.0中怎么才能实现程序图标的拖动,添加程序到程序收纳盒的功能,并且可以执行这个程序? 解决方案 可以在你的窗体的oledrogover事件里接收你收到的文件.

最近做项目,需要用到winpcap,但是速度一直达不到要求,请问各位大侠,求解决办法

问题描述 最近做项目,需要用到winpcap,但是速度一直达不到要求,请问各位大侠,求解决办法 项目中需要使用winpap抓包,但是速度不够快,千兆网下只能达到100兆左右的速度,暂时没有找到解决办法. 解决方案 这个跟机器性能还有程序处理能力等有关,需要先定位一下性能瓶颈 解决方案二: 谢谢您的回答,其实我现在主要想知道win cap 本身的收发性能是多少, 解决方案三: 几天没上来,依然没有解决,看来Windows下用winPCAP开发应用的场景不是很多.希望有经验的大牛看见这个帖子!帮帮在

请问ToolStrip控件中加入的ToolStripLabel如何改背景颜色?

问题描述 请问ToolStrip控件中加入的ToolStripLabel如何改背景颜色:窗体直接改不起作用:还有就是我需要同时控制几个ToolStripLabel的背景颜色.OnRenderLabelBackground(ToolStripItemRenderEventArgse)用这个只能解决控制一个. 解决方案 解决方案二:http://blog.csdn.net/bdmh/article/details/7489314参考了这个,但是只能修改当前事件的解决方案三:ToolStrip的Ren

请问在jsp开发中使用的mysql server数据库服务器

问题描述 请问在jsp开发中使用的mysql server数据库服务器 请问在jsp开发中使用的mysql server数据库服务器,在Visual C++ 6.0中也可以使用么?如果可以,请问如何使用? 解决方案 到底你说的是mysql还是sql server?不过这两者都可以在VC中访问,具体你google下 解决方案二: 可以吧,但是6.0都是多少年前的版本了,连sql server会出现各种未知的问题,具体google,楼上正解 解决方案三: 应该是可以的,直接都连接同一个数据库不就可以

JQ中click事件在ie上无效,火狐,谷歌,360都正常

问题描述 JQ中click事件在ie上无效,火狐,谷歌,360都正常 $('input:radio').bind("click", function () { // alert("11"); var cs = $(this).attr('class').toString(); var a = $(this).attr('id').toString(); var c = cs.substring(0, 4); // alert("22"); if