栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在C#winforms控件上嵌入Java控件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在C#winforms控件上嵌入Java控件?

我重新检查了一下,看来IKVM当前在其AFT组件中没有足够的支持。我认为,执行所需操作的唯一方法是在具有隐藏主窗口的单独进程中运行java控件,并以某种方式将该控件的句柄传递给C#应用程序。


原始答案:

我不确定是否可以“添加”它,但是可以尝试以下方法:

有必要通过IKVM将Java类转换为.Net程序集。

  1. 首先,您需要获取Java控件的句柄。如果您需要有关如何执行此操作的信息,可以查看此帖子。我在这一步失败了,因为在IKVM的库中没有找到Win32DrawingSurface和DrawingSurfaces,也许仅在Java端创建一些静态getHandle()方法就足够了。

  2. 获取父C#控件的句柄。这很简单,因为Control具有其Handle属性。

  3. 获得两个句柄后,您可以将其中一个设置为父级。为此,您需要从WINAPI调用SetParent函数。

[Dllimport(“ user32.dll”)]私有静态外部IntPtr SetParent(IntPtr hWndChild,IntPtr
hWndNewParent);



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号