通过委托实现窗口刷新

来源:互联网 发布:江苏中路 知乎 编辑:程序博客网 时间:2024/04/27 19:36

下面是“人生如梦”大哥给的代码,但是在下看不懂啊,还请各位大侠多多拿指教。问题在代码中。
在下有实现功能是在一个窗口中提交数据,然后刷新绑定此数据的窗口的DGV。
问题2:这个“button1_Click”事件的作用是什么?为什么要判断委托事件不为空则执行?
用委托简单一点的意思就是。。  
比如我有两个类
A和B 
A要像B传递一些数据,然后B修改当前的数据。
比如B有一个私有成员string str;
有方法changStr(string str){this.str=str};
这时候A要把一个字符"x"传给B,让B修改它的私有成员str为这个"X"
一般的做法是在A中调用B的changStr方法 实现传递数据。
但是为了降低类的耦合度,我们需要这种方式:
就是A要向B传递数据,但是A不关心,也不用知道B里到底有什么方法;
其实准确来说A也不关心到底这个数据要传到哪里去。
A只要调用自己的方法,比如SendData("x") 就可以把数据传出去。
委托就是用做这个目的。
这里我们假定A的实例对象为a
然后我们需要在B中捕获a发出的这个数据
委托一般与事件配合起来一起使用,经典的用法:委托+事件=观察模式   实现功能代码如下([1]):   假设我们有个高档的热水器,我们给它通上电,当水温超过95度的时候:1、扬声器会开始发出语音,告诉你水的温度;2、液晶屏也会改变水温的显示,来提示水已经快烧开了。   现在我们需要写个程序来模拟这个烧水的过程,我们将定义一个类来代表热水器,我们管它叫:Heater,它有代表水温的字段,叫做temperature;当然,还有必不可少的给水加热方法BoilWater(),一个发出语音警报的方法MakeAlert(),一个显示水温的方法

比如说用这样的结构打开打印首选项:
搜了好几天了,现在只能利用API打开控制面板的printFloder

vs2005+sp2开发的程序在XP上安装,装上2.0FrameWork+sp2程序双击后没有任何反应。进程里面有运行,想请教在XP机上除了装上.net Framework 2.0 + sp2外还需要再装什么?vs2005自带.net framework和必要的更新,不需要其它软件。
安装前关闭杀毒软件,并且最好使用原版操作系统,而不是ghost版或者修改版。

具体原因是什么?因为客户那边不可能去重装系统!客户那边应用很多软件在那里,重装系统更加麻烦。有没有好的解决方法?

看看你引用了什么DLL,你在什么路径引用的dll,就将这些dll复制到客户端试试,应该是dll版本的问题,我遇到过,就例如说 kernel32.dll 这个,xp的和win2003的就不兼容,启动程序没反应,检查一下dll版本的问题吧。
不一定,楼主需要在XP的计算机上面进行调试,有可能是环境配置问题。

我在客户机上装过1.1版本的也就是vs2003做的程序,只要装个1.1就可以了,这个vs2005只不过是这个的升级版,就不行了。

还有谁遇到过这种情况吗?
微软也真是,打不开也不抛个异常给看看是什么原因,一点动静都没有,让人去猜。

动态调试就知道啦,何必等待。呵呵呵动态调试?要怎么调试?在客户机上没有环境呀?

应该不是机器的问题,可能是你程序里的问题
一般都是connString 里面放完整的连接字符串,而不仅仅是文件名
其他引用的地方,直接等于connString就行了,不用再拼接了,

现有Queue<T>集合,有多个线程向集合中添加数据,另有多个线程从中取出数据,
请问如何实现同步,请使用AutoResetEvent,ManualResetEvent及WaitHandle实现。

认认真真的把C#语法学习下,然后学习好数据库操作,html,js,了解下asp.net的控件。就可以了,之于框架什么的,使用即可

来源:足球直播