,VB.net   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,VB.net
您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > VB.net > 正文
浅析Visual Basic.NET中的资源使用
[文章信息]
作者:莫艺潜
时间:2005-04-13
出处:天极网
责任编辑:方舟
[文章导读]
在我了解到的程序世界中,资源的初次登场是因为程序的国际化
advertisement
热点推荐
· VB实现SQL Server 2000存储过程调用
· Java解析网络数据流的三种特殊方法
· 多媒体教程:网页表单文本域类型
· 体验V5E地形编辑:整体控制
· 打造完美可随意安装的WinXP镜像
[正文]

1 2 3  下一页

  在我了解到的程序世界中,资源的初次登场是因为程序的国际化,当时的可执行文件已不再是单调的英文面孔,汉语、西班牙语等国际语言的支持强烈要求同样的程序,可以使用不同的语言界面。在当时,将程序逻辑代码和提示信息分离是一个不错的主意,堤示信息分离出来成为一个资源文件而独立存在,在程序进行编译时再由编译器链接到可执行文件中。直到现在,资源在这个方面依然扮演着重要的角色。以下以VB.net的一个小例子说明资源的存在:

  例一:时下许多网上的软件都有什么多国语言版之类的说法,实在点就是同一程序在安装或使用过程中有个国家区域选项,当你选择了对应的国家时,程序就会显示使用相应国家语言的界面。其实在编程实现这种功能非常简单,只不过是使程序同时嵌入几个不同语言的资源文件而已,以下示例就是一个同时支持英文和中文界面的示例程序。程序创建完整步骤如下:

  1、在VB.net中新建一个项目,类型选择windows应用程序,项目名称改为resourcesample1。

  2、在form1上放一个Lable控件.

  3、选择窗体form1,按以下指示设置属性:

  (1)Locallizable 属性设为True,这一步是关键,这个属性告诉net环境,要使用资源文件来保存窗体及窗体内的各种控件的属性值.

  (2)选择窗体的language属性,将其设为英语。然后按下表设置窗体及lable控件的其它属性:

控件名称 属性 属性值
Form1 text Form
Label Text Let's speak English!

  窗体外观如下:


  (3)重新选择窗体的language属性,将其设为中文(简体)。然后按下表设置窗体及lable控件的其它属性:

控件名称 属性 属性值
Form1 text 窗体
Label Text  


让我们说中文!

  窗体外观如下:


  大家也许很奇怪,为什么要对窗体及label的text属性进行两次不同的赋值呢?其实答案很简单,vs.net太聪明了,由于我们使用Locallizable 属性告诉net环境,要使用资源文件来保存窗体及窗体内的各种控件的属性值,当使用不同的language属性,它会将窗体及其上控件的属性按语言分别记录在不同的资源文件内。不信你将language属性重新设为英语看看,第一个英文界面的窗体又跳出来了吧8-D
4、如果说可视化编程是光明之途的话,那么我们的快乐时光到此结束,由于net还没有智能化到会判断什么时候使用什么国家的语言界面的程度(如果net 太智能了,程序员就不幸了,下岗啊,谁受得了?!),所以以下必须由我们自己编写代码确定程序的实际界面显示。

  打开 form1的New过程,在InitializeComponent()前加入如下代码(这段代码作用是在窗体初始化组件之前,按指定的语言区域信息载入相应的界面资源文件):

Dim tenmDialogResult As DialogResult
tenmDialogResult = MessageBox.Show("请问是使用中文还是英语,中文选择OK,英文选择CANCEL。", _
"语言选择", _
MessageBoxButtons.OKCancel, _
MessageBoxIcon.Question, _
MessageBoxDefaultButton.Button1, _
MessageBoxOptions.DefaultDesktopOnly)

  REM 一般情况下程序都是使用读取初始化文件的方法来取得语言设置信息,

'但本例程为了简便起见,仅使用一个对话框提示用户选择适合自己的语言.

If tenmDialogResult = DialogResult.OK Then '使用中文界面
gstrAppCulture = "zh-CHS"
Else '使用英文界面
gstrAppCulture = "en"
End If

'将需要使用的区域信息放到当前线程的区域信息中,
'程序窗体会根据设定的信息装载相应的资源文件以显示信息
System.Threading.Thread.CurrentThread.CurrentUICulture = _
New System.Globalization.CultureInfo(gstrAppCulture)

  剩下的事这没什么好说的了,按运行吧,在出现对话框时试着点OK或Cancel看看你的杰作吧,很酷的同时支持中英文界面的示例程序哦。


1 2 3  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,VB.net相关内容,VB.net焦点新闻
  • VB.NET中采用多线程填写treeview控件
  • VB.NET中使用Directsound9之简单播放
  • 用Visual Basic.NET编写扑克牌游戏
  • Visual Basic.NET实现双检锁(DCL)模式
  • 浅议Visual Basic.NET中HOOK的应用
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,VB.netAdvertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价