如何在.NET中创建和使用资源
时间:2020-03-06 14:20:17 来源:igfitidea点击:
如何创建可以在程序的各个部分轻松引用和使用的资源?
我的特定问题是我有一个NotifyIcon,我想根据程序的状态更改其图标。这是一个常见的问题,但是我已经苦苦挣扎了很长时间。
解决方案
好了,在StackOverflow周围搜索并汇总了各个要点之后(哎呀,我已经很喜欢这个地方了),大多数问题已经超过了这个阶段。我确实设法解决了我的问题。
如何创建资源。
就我而言,我想创建一个图标。无论我们想添加哪种类型的数据作为资源,这都是一个相似的过程。
- 右键单击要向其添加资源的项目。在解决方案资源管理器中执行此操作。从列表中选择"属性"选项。
- 单击"资源"选项卡。
- 栏顶部的第一个按钮将让我们选择要添加的资源的类型。它应该以字符串开头。我们要添加一个图标,因此单击它,然后从选项列表中选择"图标"。
- 接下来,移至第二个按钮"添加资源"。我们既可以添加新资源,也可以添加图标。按照提示选择任何选项。
- 此时,我们可以双击新添加的资源进行编辑。请注意,资源也会显示在解决方案资源管理器中,双击该按钮同样有效
如何使用资源。
太好了,因此我们有了新的资源,并且渴望拥有那些可爱的,不断变化的图标……我们该怎么做?好吧,幸运的是,Cmake做到这一点非常容易。
有一个名为" Properties.Resources"的静态类,该类使我们可以访问所有资源,因此我的代码最终变得非常简单:
paused = !paused; if (paused) notifyIcon.Icon = Properties.Resources.RedIcon; else notifyIcon.Icon = Properties.Resources.GreenIcon;
完毕!菲尼斯!当我们知道如何时,一切都很简单,不是吗?
上面的方法效果很好。
另一种方法(我在这里假设是Web)是创建页面。将控件添加到页面。然后,在设计模式下,转到:工具>生成本地资源。资源文件将自动显示在解决方案中,页面中的所有控件都映射到该资源文件中。
要为其他语言创建资源,请在文件名的末尾添加扩展名(Account.aspx.en-US.resx,Account.aspx.es-ES.resx ... etc)之前的4个字符的语言。
要检索后面代码中的特定条目,只需调用此方法:GetLocalResourceObject([resource entry key / name])。