首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

两个C#之间传值有关问题

2012-08-17 
两个C#之间传值问题都是C# A:有FormB:无FormA.Form中设一Button 单击即可传到B中(任一地方)反过来一样B运

两个C#之间传值问题
都是C# A:有Form B:无Form 
 A.Form中设一Button 单击即可传到B中(任一地方)
 
反过来一样
 B运行将数据传入A 与A.Form 中
 求高手指点、、

[解决办法]
什么有form无from?

http://topic.csdn.net/u/20120710/14/c88a8f3c-c096-4f93-a0ee-b82b810ebd9d.html

B传入A用委托事件
[解决办法]

探讨

什么有form无from?

http://topic.csdn.net/u/20120710/14/c88a8f3c-c096-4f93-a0ee-b82b810ebd9d.html

B传入A用委托事件

[解决办法]
1.设置全局静态变量
2.通过属性传值 B中设置属性,A传值给B中属性赋值,B运行完,A通过访问B中属性来取得返回值
[解决办法]
public static 类型 变量名...
[解决办法]
数据库
文件
socket
通道
WM_COPYDATA
内存映射
内存共享
等等
[解决办法]
最简单的:设置全局静态变量 
最优雅的:使用事件
[解决办法]
探讨

最简单的:设置全局静态变量
最优雅的:使用事件

[解决办法]
LZ应该指A与B分别为不同进程(A.exe/B.exe),且A/B分别在不同应用程序域。
那么全局静态变量是无法传递的。
比较好的方法应该是
命名管道/匿名管道(3.5或非托管代码)
内存映射文件(4.0或非托管代码)
socket通信(全版本)
也可以使用剪贴板(不推荐)
[解决办法]
探讨

LZ应该指A与B分别为不同进程(A.exe/B.exe),且A/B分别在不同应用程序域。
那么全局静态变量是无法传递的。
比较好的方法应该是
命名管道/匿名管道(3.5或非托管代码)
内存映射文件(4.0或非托管代码)
socket通信(全版本)
也可以使用剪贴板(不推荐)

[解决办法]
探讨


其实,比较常用的还是WM_COPYDATA

[解决办法]
探讨

数据库
文件
socket
通道
WM_COPYDATA
内存映射
内存共享
等等

[解决办法]
内存映射文件比较简单,MSDN上有示例,不过要求.net 4.0。
命名管道稍微复杂,不过功能更强大,MSDN上也有专门的例子
匿名管道相对简单,不过你需要A来启动B(用Proccess,把句柄作为参数传递),并在B中处理启动参数。MSDN上的示例
这些方案都离不开Mutex或者类似的的线程同步类的支持
[解决办法]
用FindWindow呢
在SendMessage过去咯。。
我就是这么在不同程序里交互实现的呢。
[解决办法]
定义:
C# code
        [DllImport("user32.dll", EntryPoint = "FindWindow")]        public static extern int FindWindow(string lpClassName, string lpWindowName);        [DllImport("User32.dll", EntryPoint = "SendMessage")]        public static extern int SendMessage(int hWnd, int Msg, int wParam, ref COPYDATASTRUCT lParam);
[解决办法]
探讨

LZ应该指A与B分别为不同进程(A.exe/B.exe),且A/B分别在不同应用程序域。
那么全局静态变量是无法传递的。
比较好的方法应该是
命名管道/匿名管道(3.5或非托管代码)
内存映射文件(4.0或非托管代码)
socket通信(全版本)
也可以使用剪贴板(不推荐)

[解决办法]
探讨

用FindWindow呢
在SendMessage过去咯。。
我就是这么在不同程序里交互实现的呢。

------解决方案--------------------


探讨
引用:

用FindWindow呢
在SendMessage过去咯。。
我就是这么在不同程序里交互实现的呢。


鉴于LZ的B进程没有窗体,很可能连消息循环都没有。

[解决办法]
探讨
都是C# A:有Form B:无Form
A.Form中设一Button 单击即可传到B中(任一地方)

反过来一样
B运行将数据传入A 与A.Form 中
求高手指点、、

热点排行