【问题标题】:How to add a resource icon to forms如何将资源图标添加到表单
【发布时间】:2019-01-08 22:23:02
【问题描述】:

我正在使用 Visual Studio 2017,我正在尝试向表单(而不是应用程序)添加图标。

我已将图标添加为项目资源。

在编辑表单(不是应用程序)时,当我使用属性选项卡 (F4) 指定图标时,我必须指定一个文件(不是资源),它会使用以下行更新 .Designer.cs:

this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

在编译期间,我收到以下错误:

无法处理文件 Form1.resx,因为它位于 Internet 中或 限制区域或在文件上有网络标记。 如果您想处理这些文件,请删除 web 的标记。

如果我手动编辑 .Designer.cs 文件并按如下方式指定资源,则不会产生错误:

this.Icon = Properties.Resources.myIcon;

如何使用表单的“属性”选项卡来指定值 Properties.Resources.myIcon?

【问题讨论】:

标签: c# visual-studio winforms


【解决方案1】:

在阅读了“重复”问题的答案后,除了更改我的互联网选项(我做了测试并且它有效)之外,我没有找到任何可以做的事情。我不喜欢这个选项,但我开始思考如何解决问题。

我发现问题在于我的源位于服务器上而不是本地 PC 上,并且“本地驱动器”是使用 IP 地址(//192.168.1.10/Visual Studio Projects)而不是 DNS 映射的入口。我在我的主机文件中添加了一个条目

192.168.1.10    WindowsServer

然后我使用“//WindowsServer/Visual Studio Projects”而不是“//192.168.1.10/Visual Studio Projects”重新映射驱动器,从而消除了问题。显然它认为本地 IP 地址仍然是互联网的一部分。

我希望这些信息对以后的其他人有所帮助。

【讨论】:

  • 它实际上与互联网本身无关,只是一种称呼方式。之所以存在此安全措施,是因为文件来自不受信任的位置。
  • Jimi - 你能解释为什么 WindowsServer 会是一个受信任的位置,而 192.168.1.10 不是,当它们是同一台机器并且 WindowsServer 的 DNS 指向 192.168.1.10 时?我添加了 DNS 条目,没有做任何其他事情,所以是什么让 WindowsServer 受信任????
【解决方案2】:

在资源管理器中找到文件所在的位置并打开出现错误的文件的属性并检查取消阻止然后应用,然后重新启动 Visual Studio,它应该已修复

(在您的情况下,您打开 Form1.resx 的属性)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-15
    • 2020-12-09
    • 2023-03-27
    • 1970-01-01
    • 2015-03-14
    • 2018-07-16
    • 2017-05-28
    • 1970-01-01
    相关资源
    最近更新 更多