[VB.NET].NET多語系程式(一)

範例說明 本篇將介紹.NET多語系程式的寫法 ,下面會利用最簡單方便且正統的方法也就是資源檔來達到多語系的功能。 學習目標 .NET多語程式撰寫 資源檔的使用與操作 CultureInfo類別的使用 語系的切換 操作步驟 介面上的多語 Step1.將表單的Localizable屬性設為True Step2.切換表單的Language屬性為欲使用的語系 設完後會在分頁標籤上看到目前設定的語系 Step3.設定介面上欲顯示的字樣並適當的調整版面 到此,用資源檔做的多語系程式就完成了。 我們可以到檔案總管看一下,可看到Visual Studio自己幫我們產生了對應的資源檔。 因此,在實作介面上的多語時,我們並不需自己手動加入資源檔。 訊息的多語 上面的範例帶出了介面上支援多語的寫法,但卻不適用於訊息上,若要在訊息上也支援多語。請依下列步驟: Step1.加入資源檔 資源檔依照 "資源檔名.文化特性.resx" 格式命名,如 "Resources.zh-tw.resx"。 Step2.設定資源檔內的訊息內容 在資源檔上連點兩下 設定對應的語系字串 Step3.使用資源檔內的訊息內容 這邊只要透過My.Resources去取出資源檔內的值即可,內部OR Mapping轉換都幫你做好好,可以用強型別的方式直接取用,能避免掉許多不必要的低級錯誤。 其實個人習慣是命名為 "Resources.文化特性.resx",因為專案裡已偷放了一個Resources.resx資源檔,因此只需加入非預設語系的資源檔即可。 在使用上也會變得較為簡短 切換語系 依上面步驟操作完後,其實已具多語支援能力。當程式開啟時,會自動依照當前語系去顯示介面畫面。因此我們開啟時應該是顯示中文而不是本來的英文。若要自己切換語系可利用Threading.Thread.CurrentThread.CurrentUICulture。 值得注意的是,這樣的寫法是不會影響已開啟的視窗的。只有後來開啟的視窗會被切換語系。 那是否已開啟的視窗就無法切換了呢?那倒也不是。可以透過使用ResourceManager.GetString去取得對應的字串,把取出的字串再設到介面上即可。但是這也不是很好的方法,個人傾向使用ComponentResourceManager配合遞迴去把介面上的字串換成對應語系的字串。有興趣的可以參考Form.Designer.vb檔的程式碼。 注意事項 在用多國語言資源檔時,建議最後在弄其它語系的設定。因為當我們設定多語系時,Visual Studio會自動幫我們產生資源檔,且內含預設的設定值。若太早讓Visual Studi產生資源檔,則預設的設定值將只有少少的幾個,後面的設定值都需手動的設定,且每個語系的資源檔都要設定。

April 24, 2009 · 3 min · 1150 words · Larry Nung

[VB.NET].NET多語系程式(二)

Introduction 本篇將介紹.NET多語系程式的寫法 ,下面會利用資料庫來達到多語系的功能。 ...

April 24, 2009 · 1 min · 152 words · Larry Nung

[C#][VB.NET]Isolated Storage 隔離儲存區

Abstract NamespaceAssemble功能重要類別隔離類型儲存位置使用時機不該使用時機取得隔離儲存區刪除隔離儲存區建立目錄尋找目錄尋找檔案刪除目錄刪除檔案寫入檔案讀取檔案 ...

April 22, 2009 · 6 min · 2754 words · Larry Nung

[.NET Concept][VB.NET]MDI子視窗放大時的注意事項

開發MDI程式時,若需要一開始就放大子視窗,有些地方需特別留意。 ...

April 4, 2009 · 1 min · 342 words · Larry Nung

[Library][VB.NET]MyDataBase Library

越來越懶,乾脆濫芋充數的把之前寫的爛Code丟上來,這篇所介紹的MyDataBase是當初剛學VB.NET時試著拿MVP董大偉的書裡範例改的,主要是為了方便用來對資料庫做些控制的。由於當初剛學VB.NET,程式沒有寫的很好,也無提出介面與抽象層方便使用,因此把Code也丟上來讓有需要的自行修改,希望大家別太苛求。 ...

March 28, 2009 · 1 min · 385 words · Larry Nung

[.NET Concept][C#][VB.NET].NET兩個表單間的資料互通

常會看到有人詢問兩個表單間的資料要如何互通,重覆詢問率之高讓該問題約可列入初學者必問的前幾大問題了,光在程式設計俱樂部大概這類問題我大概就已回答過4~5次了。最近又在批踢踢討論版中看到有人詢問,索性想說乾脆就整理一篇以後直接貼連結好了。 ...

March 24, 2009 · 3 min · 1494 words · Larry Nung

[C#][VB.NET]自定義.NET WindowForm表單介面(二)

之前寫過一篇『自定義.NET WindowForm表單介面』,據網友反應才注意到其做出來的視窗無縮放的效果,因此這篇的重點將Focuse在自定義表單的縮放功能實作。 要實作具縮放功能的WindowForm表單目前得知的方法大概有三種,這邊就讓我們分別來探討。 ...

March 21, 2009 · 2 min · 706 words · Larry Nung

[Performance][VB.NET].NET空字串判斷徹底研究

.NET下的空字串判斷整體來說大概可分為下列幾種方法: 用 is Nothing 判斷。e.x. If str Is Nothing用 = Nothing 判斷(類別中只有字串可以用 = Nothing 來判斷)。e.x. If str = Nothing用 = "" 判斷。e.x. If str = ““用 = String.Empty 判斷。e.x. If str = String.Empty用 Is String.Empty 判斷。e.x. If str Is String.Empty用 String.IsNullOrEmpty(str) 判斷。e.x. If String.IsNullOrEmpty(str)用 String.Length = 0 判斷。e.x. If str.Length = 0 ...

March 13, 2009 · 2 min · 782 words · Larry Nung

[Performance][VB.NET]If V.S IIf

前陣子去書局翻書,看到一本寫的不錯的VB.NET入門書,很適合初學者學習使用,作者是施威明工作室。稍微翻了一下,雖是簡單的入門書,但書中仍是有些我沒注意到的東西,像是這篇提到的If函式。開始用VB.NET到現在也已經一年多了,一直以為If就只能當陳述式用,看了書上描述才知道原來也有類似IIf的用法。 ...

March 10, 2009 · 2 min · 875 words · Larry Nung

[C#][VB.NET]使用AxWindowsMediaPlayer撥放多媒體

加入工具箱 Step1.工具箱=>滑鼠右鍵=>選擇項目 Step2.切換至『COM 元件』頁籤=>勾選Windows Media Player=>確定 Step3.會發現工具箱多了個Windows Media Player的控制項 使用AxWindowsMediaPlayer撥放多媒體 Step1.加入Windows Media Player控制項到設計表單,可看到如下的畫面。 Step2.依序加入控制項使介面如下圖所示。 Step3.撰寫控制項初始設定程式碼 此處是設定控制項的初始值,像是音量的最大值、最小值、目前的音量、與啟動Timer(用來偵測檔案總長度用),值得注意的是AxWindowsMediaPlayer控制項的音量大小介於0~100之間,另外若不設定AutoStart = False則開啟檔案完程式就會自動撥放開啟的多媒體檔。 VB.NET C# Step4.撰寫開啟程式碼 AxWindowsMediaPlayer控制項是去設定AxWindowsMediaPlayer.URL屬性值來達到多媒體檔案開啟的功能。 VB.NET C# Step5.撰寫撥放程式碼 這部份功能程式碼只需呼叫AxWindowsMediaPlayer.Ctlcontrols.play()即可。 VB.NET C# Step6.撰寫停止程式碼 這部份功能程式碼只需呼叫AxWindowsMediaPlayer.Ctlcontrols.stop()即可。 VB.NET C# Step7.撰寫暫停撥放程式碼 這部份功能程式碼只需呼叫AxWindowsMediaPlayer.Ctlcontrols.pause()即可。 VB.NET C# Step8.撰寫音量控制程式碼 這部份功能程式碼只需對AxWindowsMediaPlayer.settings.volume做屬性值的變更即可。 VB.NET C# Step9.撰寫撥放位置控制程式碼 除需對AxWindowsMediaPlayer.Ctlcontrols.currentPosioion做屬性值的變更外,尚需利用AxWindowsMediaPlayer.currentMedia.duration去設定最大影片長度。 VB.NET C# Download 使用AxWindowsMediaPlayer撥放多媒體.zip 參考連結 MSDN Library - AxWindowsMediaPlayer Object (VB and C#) 黑色幽默 - AxWindowsMediaPlayer媒体文件主要方法属性

March 1, 2009 · 2 min · 941 words · Larry Nung