Tải bản đầy đủ (.pdf) (3 trang)

THIẾT KẾ ĐA DẠNG CHO ỨNG DỤNG pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (138.04 KB, 3 trang )

WWW.CSHARPVN.COM Windows Forms

Biên tập: Nguồn: Internet


Xây dựng một ứng dụng, đôi lúc bạn muốn thiết lập giao diện với nhiều ngôn ngữ. Thường thì với chúng ta
sẽ xây dựng là tiếng Anh và tiếng Việt. Ở đây tớ có bài hướng dẫn thiết lập và chuyển đổi giữa 2 ngôn ngữ là
tiếng Anh và tiếng Việt. Ai chơi tiếng Trung, Nhật hay Thái thì cho tớ vài cái font và bộ gõ để chơi vui hen.
Đầu tiên bạn tạo một project đặt tên gì đó thì tùy, sau đó cho vào một menu hay vài button, label gì đó để
xử lý là được. Ở đây tớ cho vào 2 button 1 button là btnEnglish (đổi sang tiếng anh), 1 button là btnVietNam
(đổi sang tiếng việt). Và mặc định tớ sẽ xây dựng ứng dụng là tiếng Anh nhé.

Với cách xử lý này chúng ta chú ý đến 2 thuộc tính là Language và Localizable nhìn vào hình dưới: (Nhớ
thay đổi giá trị cho thuộc tính Localizable là True nha).



WWW.CSHARPVN.COM


Biên tập:




Nhìn vào cái khung
solution Explorer


Giải thích: Thiết lập giá trị trong
setting


Language c
ủa form bạn sẽ thấy các ngôn ngữ cho bạn lựa chọn. Trong đó
en-US (chú ý cái value này nha) với
Vietnamese
Trong file settings v
ừa rồi bạn thiết lập l
(United State).
Và ban đ
ầu ứng dụng thực thi nó sẽ xác định ngôn ngử mặc định tr
chúng ta mu
ốn thay đổi dạng ngôn ngữ th
ta xác định ngôn ngữ ứng dụng sẽ l
ưu giá tr
Programs.cs có s
ẵn của ứng dụng chúng ta phải th
gì.
[STAThread]
static void Main()
{
//thêm câu lệnh sau vào
System.Threading.Thread.
CurrentThread
System.Globalization.CultureInfo
(Properties.

Application.EnableVisualStyles();

Application.
SetCompatibleTextRenderingDefault
Application.Run(new Form1());

}
Giải thích chút xíu: Câu l
ệnh sẽ lấy giá trị ta đ
settings để xác định ngôn ngữ l
à gì. Giá tr
động tạo ra đó. (Mở lên coi nó có gì
Bây giờ chúng ta chọn thuộc tính
Language
trị của Localizable = True r
ồi đó nha). Ban đầu bạn thấy nó l
Bạn sẽ thay đổi nó sang Vietnamese
(kéo xu
xíu rồi xuất hiện lại (vẫn thấy i x
ì ko có gì thay
mới y xì v
ậy (không phải copy đâu nha). Giờ
Việt thôi. Ví dụ tớ type lại như sau:

Windows Forms

solution Explorer
> mở file Settings.settings và b
ạn đặt giá trị nh

setting
đ
ể gán ngôn ngữ mặc định cho ứng dụng lúc đầu. Trong thu
ủa form bạn sẽ thấy các ngôn ngữ cho bạn lựa chọn. Trong đó
English (United State)
Vietnamese

là vi-VN.
ừa rồi bạn thiết lập l
à để xác định cái giá trị Default của thuộc
tính
ầu ứng dụng thực thi nó sẽ xác định ngôn ngử mặc định tr
ước đó yêu c
ầu l
ốn thay đổi dạng ngôn ngữ th
ì phải khởi động lại chương trình nó m
ới chuyển ngôn ngữ v
ưu giá tr
ị lại và lúc khởi động dựa vào đó đ
ể xác định. Bởi vậy trong class
ẵn của ứng dụng chúng ta phải th
êm vào câu l
ệnh để xác định ngôn ngữ sau khi khởi động l
CurrentThread
.CurrentUICulture = new
(Properties.
Settings.Default.Language);

SetCompatibleTextRenderingDefault
(false);
ệnh sẽ lấy giá trị ta đ
ã gán cho value của cái node
Language
à gì. Giá tr
ị này sẽ lưu ở file app.config mà lúc ta m
ở file
)

Language
của form mà tớ kêu chú ý như lúc đ
ầu đó (nhớ lúc n
ồi đó nha). Ban đầu bạn thấy nó l
à Default tức là en-US
mà ta xác đ
(kéo xu
ống gần dưới cùng là thấy àh). B
ạn sẽ thấy cái form sẽ mất đi chút
ì ko có gì thay
đổi). Thực ra nó đã thay đ
ổi rồi đó, giống nh
ậy (không phải copy đâu nha). Giờ
thì bạn đổi text của các button hay label,
form
Windows Forms

Nguồn: Internet
ạn đặt giá trị nh
ư hình sau:
ể gán ngôn ngữ mặc định cho ứng dụng lúc đầu. Trong thu
ộc tính
English (United State)
có value là
tính
Language là English
ầu l
à gì. Tức là nếu lần sau
ới chuyển ngôn ngữ v
à lúc mà

ể xác định. Bởi vậy trong class
ệnh để xác định ngôn ngữ sau khi khởi động l
à
Language
mà ta tạo ra trong file
ở file
settings.settings nó tự
ầu đó (nhớ lúc n
ày thì giá
mà ta xác đ
ịnh ban đầu đó.
ạn sẽ thấy cái form sẽ mất đi chút
ổi rồi đó, giống nh
ư nó copy một form
form
gì đó sang tiếng
WWW.CSHARPVN.COM Windows Forms

Biên tập: Nguồn: Internet


Mọi chuyện đã gần như hoàn thành rùi đó. Giờ bạn code cho các button xác định chuyển đổi ngôn ngữ
thôi. (Nhớ là nó chỉ chuyển đôi sau khi bạn xác định dạng ngôn ngữ và khởi động lại chương trình, nhấp vào
để nó vẫn thấy y xì đừng trách tớ không nhắc trước nha). Ở button btnEnglish code như sau:

private void btnEnglish_Click(object sender, EventArgs e)
{
//xác định ngôn ngữ cho ứng dụng là tiếng Anh
Properties.Settings.Default.Language = "en-US";
//Lưu xác định đó lại

Properties.Settings.Default.Save();
}
Ở button btnVietNam code như sau:
private void btnVietNam_Click(object sender, EventArgs e)
{
Properties.Settings.Default.Language = "vi-VN";
Properties.Settings.Default.Save();
}
Vậy là xong rồi đó. Giải thích tí nha: câu lệnh trên sẽ xác định giá trị cho cái node Language mà tớ kêu tạo
ra như lúc đầu đó. Câu thứ 2 chỉ là lưu xác định đó lại. Giờ thì hiểu vì sao phải khởi động lại chương trình rùi
chứ (trong cái class programs chạy lúc khởi động chương trình sẽ xác định ngôn ngữ đó).


×