gpt4 book ai didi

c# - 在 VB6 中使 .NET 控件透明

转载 作者:行者123 更新时间:2023-11-30 18:34:17 24 4
gpt4 key购买 nike

所以我在用 c# .NET 创建控件时遇到了这个问题,我可以在 VB6 中很好地使用它。但是,由于您不能在 vb6 中的 .net 容器中放置无边界控件,因此我尝试制作一个特殊的 .NET 标签并将其公开给 vb6。

我可以在我的表单上得到这个标签,但我不能让它透明。

我曾尝试使用 UserControl_AmbientChanged,但 Ambient.BackColor 似乎始终是窗体的颜色,而不是实际父项的颜色(例如,框架)。当我使用 UserControl.Parent 然后使用 Parent 的 BackColor 时也是如此。与 Extender.Parent 相同。即使这样可行,在背景是图像的情况下也不会很漂亮。

我试过使用 SetWindowLong 但这只会使整个标签不可见/透明,而不会考虑标题。

我尝试使用此处的 bliting 技术:http://www.vbforums.com/showthread.php?438895-transparent-text-box-or-label-with-scrollbars&highlight=transparent%20TextBox但这不起作用,因为我的控件不是 PictureBoxes。

我别无选择,以前有人这样做过吗?如何?任何帮助都将不胜感激。

最佳答案

如果我正确理解您的情况,您将希望将 .NET 用户控件背景颜色设置为不同的颜色(比如带有特定 HEX 颜色代码的粉红色)。然后在您的 VB6 应用程序中,您将把这个相同的颜色代码(粉红色)设置为属性表中的透明颜色。

多年来,我一直以这种方式处理 VB6 用户控件中的透明度,而且它似乎工作正常。

至于 2013 年针对企业应用程序的 VB6 的评论,这些人显然没有在软件行业工作很长时间:) VB6 已经在数百万个企业应用程序中实现,至今仍在使用。我想问发布此类评论的用户一个问题,您如何才能以任何其他语言提供 VB6 ActiveX 控件的强大功能?回答 -> 你不能。

关于c# - 在 VB6 中使 .NET 控件透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16321309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com