vb.net - 用资源文件路径替换绝对文件路径
问题描述
我为现有软件 (Revit) 创建了一个加载项,我想在加载项的按钮中嵌入一个图像(我公司的徽标)。
这是我当前的代码:
'Set the large image shown on button
Dim uriImage As New Uri("\\10.8.60.3\Shared\REVIT\FSElogo.png")
Dim largeImage As New BitmapImage(uriImage)
MainButton.LargeImage = largeImage
它工作得很好并且徽标显示正确,但是它需要计算机可以访问位于\\10.8.60.3
. 在家工作时,我们无法访问此服务器,因此 Revit 在启动时会引发错误。
因此,我尝试将FSElogo.png
文件作为 a 添加到我的 VB.Net 项目中Resource
,然后尝试使用My.Resources
来访问图像,从而有效地消除了使用外部图像的需要。
好吧,我无法让它工作。我尝试将上面的代码替换为
MainButton.LargeImage = CType(My.Resources.ResourceManager.GetObject("FSElogo.png"), Windows.Media.ImageSource)
但它不起作用。它不会引发错误,但按钮上不会显示任何图像。
如果我不将 myObject
转换为 an ,ImageSource
我会得到一个implicit conversion from Object to Image
错误,我什至不确定 myResourceManager
是否真的返回了 object FSElogo.png
。
我在这里做错了什么?
解决方案
我正在使用带有.BackgroundImage
属性的 VS 提供的按钮。请注意,文件的扩展名不包含在资源标识符中。如果这不起作用,您将必须准确解释如何将资源添加到项目中。
MainButton.BackgroundImage = My.Resources.FSElogo
推荐阅读
- css - 如何在反应中使用css模块模式覆盖外部模块类
- iis - azure web 服务:webconfig 子域文件重写
- graphdb - 询问关于 Graphdb 的推理
- c++ - 在 macOS 中使用 linux getopt
- node.js - socket.io/ 用 firefox 表示“跨域请求被阻止”,在 chrome 中表示“ERR_CONNECTION_REFUSED”
- sas - 如何从 sas 中的混合变量列表(num+char)中仅提取字符值
- java - 如何在导航抽屉中维护片段的回栈?
- kubernetes - 公开应用程序时出现 Kubernetes 入口控制器错误
- java - Play Framework 2.8.x MySQL 连接问题
- javascript - 响应式导航栏菜单(汉堡菜单)无法通过单击打开