自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五分鐘教你編寫一個(gè)關(guān)于VB.NET資源文件

開發(fā) 后端
時(shí)下許多網(wǎng)上的軟件都有什么多國(guó)語(yǔ)言版之類的說(shuō)法,實(shí)在點(diǎn)就是同一程序在安裝或使用過(guò)程中有個(gè)國(guó)家區(qū)域選項(xiàng),當(dāng)你選擇了對(duì)應(yīng)的國(guó)家時(shí),程序就會(huì)顯示使用相應(yīng)國(guó)家語(yǔ)言的界面,本為介紹利用VB.NET資源文件來(lái)解決這個(gè)問(wèn)題。

在我的印象中,資源是一種很寶貴的東西,不知道大家的觀點(diǎn)是不是,資源在作為國(guó)際化出現(xiàn)的時(shí)候,執(zhí)行文件已不再是單調(diào)的英文面孔,漢語(yǔ)、西班牙語(yǔ)等國(guó)際語(yǔ)言的支持強(qiáng)烈要求同樣的程序,可以使用不同的語(yǔ)言界面。在當(dāng)時(shí),將程序邏輯代碼和提示信息分離是一個(gè)不錯(cuò)的主意,堤示信息分離出來(lái)成為一個(gè)資源文件而獨(dú)立存在,在程序進(jìn)行編譯時(shí)再由編譯器鏈接到可執(zhí)行文件中。

直到現(xiàn)在,資源在這個(gè)方面依然扮演著重要的角色。以下以VB.net的一個(gè)小例子說(shuō)明資源的存在:

例一:時(shí)下許多網(wǎng)上的軟件都有什么多國(guó)語(yǔ)言版之類的說(shuō)法,實(shí)在點(diǎn)就是同一程序在安裝或使用過(guò)程中有個(gè)國(guó)家區(qū)域選項(xiàng),當(dāng)你選擇了對(duì)應(yīng)的國(guó)家時(shí),程序就會(huì)顯示使用相應(yīng)國(guó)家語(yǔ)言的界面。其實(shí)在編程實(shí)現(xiàn)這種功能非常簡(jiǎn)單,只不過(guò)是使程序同時(shí)嵌入幾個(gè)不同語(yǔ)言VB.NET資源文件而已,以下示例就是一個(gè)同時(shí)支持英文和中文界面的示例程序。程序創(chuàng)建完整步驟如下:

1、在VB.net中新建一個(gè)項(xiàng)目,類型選擇windows應(yīng)用程序,項(xiàng)目名稱改為resourcesample1。
2、在form1上放一個(gè)Lable控件.
3、選擇窗體form1,按以下指示設(shè)置屬性:
(1)Locallizable 屬性設(shè)為True,這一步是關(guān)鍵,這個(gè)屬性告訴net環(huán)境,要使用資源文件來(lái)保存窗體及窗體內(nèi)的各種控件的屬性值.
(2)選擇窗體的language屬性,將其設(shè)為英語(yǔ)。然后按下表設(shè)置窗體及l(fā)able控件的其它屬性:

控件名稱 屬性 屬性值

  1. Form1 text Form   
  2. Label  Text Let's speak English!  

窗體外觀如下:

淺析VisualBasic.NET中的資源使用
圖1

(3)重新選擇窗體的language屬性,將其設(shè)為中文(簡(jiǎn)體)。然后按下表設(shè)置窗體及l(fā)able控件的其它屬性:

控件名稱 屬性 屬性值

  1. Form1 text 窗體   
  2. Label Text      

讓我們說(shuō)中文!

窗體外觀如下:

淺析VisualBasic.NET中的資源使用
圖2

大家也許很奇怪,為什么要對(duì)窗體及l(fā)abel的text屬性進(jìn)行兩次不同的賦值呢?其實(shí)答案很簡(jiǎn)單,vs.net太聰明了,由于我們使用Locallizable 屬性告訴net環(huán)境,要使用VB.NET資源文件來(lái)保存窗體及窗體內(nèi)的各種控件的屬性值,當(dāng)使用不同的language屬性,它會(huì)將窗體及其上控件的屬性按語(yǔ)言分別記錄在不同的資源文件內(nèi)。不信你將language屬性重新設(shè)為英語(yǔ)看看,第一個(gè)英文界面的窗體又跳出來(lái)了吧8-D
4、如果說(shuō)可視化編程是光明之途的話,那么我們的快樂(lè)時(shí)光到此結(jié)束,由于net還沒(méi)有智能化到會(huì)判斷什么時(shí)候使用什么國(guó)家的語(yǔ)言界面的程度(如果net 太智能了,程序員就不幸了,下崗啊,誰(shuí)受得了??。?,所以以下必須由我們自己編寫代碼確定程序的實(shí)際界面顯示。

打開 form1的New過(guò)程,在InitializeComponent()前加入如下代碼(這段代碼作用是在窗體初始化組件之前,按指定的語(yǔ)言區(qū)域信息載入相應(yīng)的界面VB.NET資源文件):

  1. Dim tenmDialogResult As DialogResult  
  2. tenmDialogResult = MessageBox.Show("請(qǐng)問(wèn)是使用中文還是英語(yǔ),中文選擇OK,英文選擇CANCEL。", _   
  3. "語(yǔ)言選擇", _  
  4. MessageBoxButtons.OKCancel, _  
  5. MessageBoxIcon.Question, _  
  6. MessageBoxDefaultButton.Button1, _  
  7. MessageBoxOptions.DefaultDesktopOnly)   

REM 一般情況下程序都是使用讀取初始化文件的方法來(lái)取得語(yǔ)言設(shè)置信息,

  1. '但本例程為了簡(jiǎn)便起見(jiàn),僅使用一個(gè)對(duì)話框提示用戶選擇適合自己的語(yǔ)言.  
  2. If tenmDialogResult = DialogResult.OK Then '使用中文界面  
  3. gstrAppCulture = "zh-CHS" 
  4. Else '使用英文界面  
  5. gstrAppCulture = "en" 
  6. End If  
  7. '將需要使用的區(qū)域信息放到當(dāng)前線程的區(qū)域信息中,  
  8. '程序窗體會(huì)根據(jù)設(shè)定的信息裝載相應(yīng)的資源文件以顯示信息  
  9. System.Threading.Thread.CurrentThread.CurrentUICulture = _ 
  10. New System.Globalization.CultureInfo(gstrAppCulture)   

剩下的事這沒(méi)什么好說(shuō)的了,按運(yùn)行吧,在出現(xiàn)對(duì)話框時(shí)試著點(diǎn)OK或Cancel看看你的杰作吧,很酷的同時(shí)支持中英文界面的示例程序哦。

【編輯推薦】

  1. 剖析VB.NET CASE語(yǔ)句
  2. VB實(shí)例教程之教你如何制作多媒體程序
  3. 全面概括VB格式輸出函數(shù)Format的使用
  4. 程序員必看VB.NET CASE語(yǔ)句拓展篇
  5. 深入介紹VB.NET類庫(kù) SmartRWLocker技巧
責(zé)任編輯:田樹 來(lái)源: 博客
相關(guān)推薦

2009-10-21 18:19:36

VB.NET實(shí)現(xiàn)拖放

2009-10-26 15:45:43

VB.NET類構(gòu)造

2009-10-30 13:12:40

VB.NET創(chuàng)建類

2009-11-04 13:12:33

VB.NET面向?qū)ο缶?/a>

2009-10-29 16:01:54

VB.NET資源文件

2009-10-28 11:27:34

VB.NET資源文件

2010-01-15 18:50:25

VB.NET資源文件

2009-11-10 11:54:12

VB.NET按鈕

2009-11-03 11:01:45

VB.NET遠(yuǎn)程事件

2022-06-28 12:35:21

DockerPython

2009-11-10 16:05:21

VB.NET格式化

2009-10-26 19:09:50

VB.NET轉(zhuǎn)換形態(tài)

2009-11-03 17:15:07

VB.NET開發(fā)Exc

2009-11-04 16:13:18

ADO.NET數(shù)據(jù)表

2009-10-29 16:22:10

VB.NET操作MyS

2009-10-28 10:58:34

VB.NET定時(shí)器事件

2009-11-02 11:02:58

VB.NET XML文

2010-01-11 11:37:08

VB.NET操作CSV

2009-11-10 15:18:35

VB.NET封面

2009-10-27 09:17:26

VB.NET生成靜態(tài)頁(yè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)