cái này mỗi lần muốn đổi lại cần restart lại form, có ai khác có cách change luôn khi runtime mà không load lại form không.
Trong quá trình xây dựng từ điển , tôi đã tìm hiểu cách tạo ra ứng dụng hiển thị nhiều ngôn ngữ giống lạc việt có giao diện Anh - Việt, tôi đã nghĩ rất nhiều giải pháp củ chuối, cuối cùng dot.net lại hỗ trợ luôn chức năng này:
dot.net hỗ trợ ứng dụng hiển thị nhiều ngộn ngữ. để ứng dụng của bạn có thể hỗ trợ nhiều ngôn ngữ bạn hãy làm như sau:
bạn click vào form sau đó click vào window property của form, chọn tìm thuộc tính language, sau đó bạn hãy chọn một ngôn ngữ, sau đó bạn hãy cài đặt các thuộc tính Text của các button, checkbox...,
vd: nếu bạn chon thuộc tính language cho form là: Vietnamese, bạn hãy dùng tiếng việt cho tất cả các control trên form.
sau đó bạn build lại project.
tương tự, nếu như bạn muốn ứng dụng của bạn có hỗ trợ thêm tiếng anh, bạn hãy chọn lại thuộc tính language cho form là: English, sau đó hãy dùng tiếng việt cho tất cả các control trên form
sau đó bạn lại build lại project.
sau khi build project lai, trong thu muc bin/Debug của ứng dụng, sẽ xuất hiện các thư mục tương ứng với ngôn ngữ bạn chon, có chứa các file .resource.dll
để ứng dụng hiện thị ngôn ngữ mà bạn chon, bạn hãy thêm dòng code sau trong sự kiện form_load hoặc constructor
Thread.CurrentThread.CurrentUICulture = new CultureInfo("vi-VN"); //hiển thị ngôn ngữ việt nam
Nguyễn Thanh Danhbên dot.net.vnàh quên, bạn phải thêm dòng code sau
Thread.CurrentThread.CurrentUICulture = new CultureInfo("vi-VN"); //hiển thị ngôn ngữ việt nam
trước khi gọi hàm InitializeComponent();
Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/
mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
http://www.tinhte.vn/threads/691731/
cái này mỗi lần muốn đổi lại cần restart lại form, có ai khác có cách change luôn khi runtime mà không load lại form không.
Mình tạm thời wrap lại thành 1 lớp gọi là UILangChanger. Code cũng khá đơn giản.
Visual C# Code:
/// <summary> /// Class used for changing user interface : language /// </summary> { private ComponentResourceManager resourceManager; { { { } { // chose English as default language } } } { localizableObj[i] = arrayObj[i]; } //-------------------------------------------------------------------------- // - Function: void ApplyResources(Type targetForm) // // - Purpose: apply the resources to the target form //-------------------------------------------------------------------------- { { // object is Control { resourceManager.ApplyResources(ctrl, ctrl.Name); } // object is ToolStrip { resourceManager.ApplyResources(toolStrip, toolStrip.Name); } // object is ToolStripItem { resourceManager.ApplyResources(item, item.Name); } } } }
Về vấn đề này, mình có viết một tut, anh em nào thích thì tham khảoThân.
Keep moving forward!
... Retired ...
Cái này cũng xài rùi, nó chỉ áp dụng được cho các control có các giá trị local không đổi, chứ trong quá trình runtime nếu giá trị nào đó bị thay đổi rùi mà lại ApplyResource thì tiêu, giá trị lại trở về giá trị Init mất.
Uh, thì cách này đâu có hay đâu. Làm chống cháy vậy màCái này cũng xài rùi, nó chỉ áp dụng được cho các control có các giá trị local không đổi, chứ trong quá trình runtime nếu giá trị nào đó bị thay đổi rùi mà lại ApplyResource thì tiêu, giá trị lại trở về giá trị Init mất.
Keep moving forward!
... Retired ...
Có cái này , hướng dẫn đầy đủ như cách trên , mở rộng cả context menu ,messenger.. và có source ví dụ , nếu không muốn tắt ứng dụng bật lại thì dùng Application.Restart() nhé chớp phát là xong thôi, mà bác tham vừa thôi, trình độ đã .... rồi mà còn
Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/
mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
http://www.tinhte.vn/threads/691731/
chào bạn nhc1987!hướng dẫn của bạn đúng ngay cái mình đang cần, nhưng khi mình cho chạy thử trực tiếp trên microsoft visual studio thì OK, còn khi mình tạo thành file Setup thì khi click vào nó vẫn không thay đổi gì cả, có phải trong khi tạo setup mình đã thiếu gì rồi phải không!mong bạn có thể giải đáp giúp mình với,mình xin cảm ơn bạn trước..^^
Thủ công tý xem sao