C#跨窗体操作
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
C# WinForm编程中,你是否遇到过这样的问题,在主窗口Form1中点击按钮,弹出一个子窗口Form2,你希望在Form2中调用Form1的函数,改变Form1的显示,却发现Form1不听话,达不到预期效果。有的人说我调试了的,那段函数确实执行了,怎么还是没有显示呢?
这里给大家推荐三种方法: 首先,介绍最简单,引用传递,C#的类是引用类型,那么我们在打开另外一个窗体的适合将窗体实例传递给另外一个窗体,另外一个窗体拿到这个实例,不是就可以做很多事情了吗? 再来一个,C#的事件都是基于委托,那么我们就可以通过委托去实现在另外一个窗体对本窗体的操作, 最后,介绍一个比较复杂的,使用C++的API,利用消息传递的方式,将消息给另外一个窗体,
最近,经常看见有人提出类似问题,以前自己也研究过,不过由于自己最开始是做C++的,一开始就用了最复杂的自定义消息来实现C#中使用自定义消息。后来看了下委托,又做了委托来实现C# 委托实例(跨窗体操作控件。最后偶然想到类不是引用吗?那干嘛不直接进行传递,搞那么复杂干嘛?所以有了最简单的C#跨窗体操作(引用传递)。
这两天整理了一下,全部发了出来,今天发一个汇总贴,希望对大家有帮助,欢迎拍砖,共同进步。
该文章在 2017/5/27 14:57:36 编辑过 |
关键字查询
相关文章
正在查询... |