1、新建项目

2、新建资源文件

3、 代码中使用嵌入资源

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using Microsoft.Win32;
using System.IO;
using System.Resources;
using System.Reflection;
using System.Threading;
using System.Globalization;

namespace MyResource
{
public class Utils
{
/// <summary>
///
/// </summary>
/// <param name="name">表示资源文件中的key值</param>
/// <returns></returns>
public static string GetMessage(string name)
{
//baseName:NameSpace+资源文件的名称(扣除.zh-CN.resx,如:Resource.zh-CN.resx,取Resource)
ResourceManager rm = new ResourceManager("MyResource.Resource", Assembly.GetExecutingAssembly());
CultureInfo ci = Thread.CurrentThread.CurrentCulture;
return rm.GetString(name, ci);
}

/// <summary>
///
/// </summary>
/// <param name="name">name表示资源文件中的key值</param>
/// <param name="language">language表示中文或者英文</param>
/// <returns></returns>
public static string GetMessage(string name, string language)
{
ResourceManager rm = new ResourceManager("MyResource.Resource", Assembly.GetExecutingAssembly());
CultureInfo ci = null;
try
{
ci = new System.Globalization.CultureInfo(language);
}
catch (Exception)
{
ci = Thread.CurrentThread.CurrentCulture;
}
return rm.GetString(name, ci);
}
}
}

4、调用代码

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MyResource
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string msg= Utils.GetMessage("t1");
msg = Utils.GetMessage("t1","en-US");
MessageBox.Show(msg);
}

private void button2_Click(object sender, EventArgs e)
{
string msg = Utils.GetMessage("t1");
msg = Utils.GetMessage("t1", "zh-CN");
MessageBox.Show(msg);
}
}
}

这里下载VS2008源代码:https://files.cnblogs.com/files/soyee/MyResource.rar

c# 使用资源文件的更多相关文章

  1. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  2. ABP文档 - 嵌入的资源文件

    文档目录 本节内容: 简介 创建嵌入的文件 暴露嵌入的文件 使用嵌入的文件 简介 一个web应用里,客户端包含javascript,css,xml等文件,这此文件被添加到一个web项目后,发布成独立的 ...

  3. Xamarin+Prism开发详解二:Xaml文件如何简单绑定Resources资源文件内容

    我们知道在UWP里面有Resources文件xxx.resx,在Android里面有String.Xml文件等.那跨平台如何统一这些类别不一的资源文件以及Xaml设计文件如何绑定这些资源?应用支持多国 ...

  4. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  5. Android-Drawable、Bitmap、byte[]、资源文件相互转换

    我们在Android的开发中,经常可以遇到图片的处理,当中,有很多是 Bitmap.Drawable.byte[]和资源文件它们直接相互转换. 今天就此总结一下: 1.资源文件转为Drawable 2 ...

  6. Spring 资源文件处理

    Java中,不同来源的资源抽象成URL,通过注册不同的handler(URLStreamHandler)来处理不同来源的资源的读取逻辑.一般handler的类型使用不同的前缀(协议,protocal) ...

  7. ABP理论学习之内嵌资源文件

    返回总目录 本篇目录 介绍 创建内嵌文件 暴露内嵌文件 使用内嵌文件 介绍 在一个web应用中,有供客户端使用的javascript,css,xml等文件.它们一般是作为分离的文件被添加到web项目中 ...

  8. 实现iOS图片等资源文件的热更新化(三):动态的资源文件夹

    简介 此文,将尝试动态从某个不确定的文件夹中加载资源文件.文章,会继续完善自定义的 imageNamed 函数,并为下一篇文章铺垫. 这么做的意义 正如我们经常所说的那样,大多数情景知道做事的意义往往 ...

  9. [Asp.net 5] Localization-resx资源文件的管理

    上一篇博文地址:[Asp.net 5] Localization-简单易用的本地化-全球化信息 本文继续介绍asp.net 5多语言.今天重点讲的是多语言的resx文件.涉及到的工程有:Microso ...

  10. C#使用资源文件的方法

    其实,对于资源文件的使用,说白点就是通过强制类型转换,将资源文件里的数据强行的转换成你需要的(换种方式说,就是你原来存进去什么,就用什么类型拿出来). 主要通过System.Resources.Res ...

随机推荐

  1. CentOS7下开放端口

    memcached等服务启动后,外网默认是无法访问的,因为防火墙不允许,所以要开启防火墙,让其可以访问这些端口号. 方法一:使用firewall 1.运行命令:firewall-cmd --get-a ...

  2. docker与虚拟机的区别

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  3. 使用CSV控件方法实现参数化

    一.录制脚本 二.下面介绍如何使用CSV控件方法实现参数化 1.  添加-->配置元件-->csv Data Set Config Filename:文件的来源 Variable Name ...

  4. crontab学习

    概念 日志路径 /var/log/cron 配置路径 vi /etc/crontab 参考 https://www.cnblogs.com/kenshinobiy/p/7685229.html 问题 ...

  5. windows批量停止服务

    此代码适合有一定windows操作系统基础的人使用 @echo off for %%i in ( mysql OracleDBConsoleleak OracleMTSRecoveryService ...

  6. 人脸识别1:n对比 (二)

    本项目采用了百度AI 人脸识别 第三方接口,实现了自选本地手机相册图片上传人脸(faceSet中添加人脸) 和 自选本地手机相册图片寻找出集合中相似度最高的一个face,可返回比对相似度.位置等信息. ...

  7. 设计模式学习心得<组合模式 Composite>

    组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式, ...

  8. python中打印一个字符串中有多少个单词

    1.for实现: str1 = str.strip(input("please input a str:"))n = 1i = 0for i in range(len(str1)- ...

  9. Python中的 __name__有什么作用?最详细解读

    案例说明: Python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一.Python模块中通常会定义很多变量和函数,这些变量和函数相当于模块中的一个功能,模块被导 ...

  10. Python 的经典设计格言,格言来源于 Python 但不限于 Python

    The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Si ...