Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: How to reload a form in a C# Program?

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    18

    Mặc định How to reload a form in a C# Program?

    Mình đang viết 1 chương trình có thể thay đổi giao diện về ngôn ngữ (tiếng Anh/ tiếng Việt) nhưng bắt buộc phải restart lại chương trình này mỗi lần thay đổi. Xin hỏi có cách nào để chương trình tự restart lại mỗi lần người dùng chọn thay đổi ngôn ngữ hay ko?
    Keep It Simple, Stupid

  2. #2
    Ngày gia nhập
    10 2007
    Bài viết
    27

    Để restart lại chương trình thì bạn có thể dùng một chương trình con để kích hoạt. Các bước có thể suy nghĩ như sau:

    0. Chương trình chính mỗi khi start phải ghi lại nơi mà nó đang được lưu trữ. Có thể ghi vào Registry.
    1. Chương trình chính muốn restart thì run một chương trình con rồi chương trình chính exit.
    2. Chương trình con khi hoạt động sẽ rà trong các Process đang chạy có process của chương trình chính không? Nếu không tìm thấy thì dựa vào giá trị Registry, tìm đến nơi của chương trình chính. Kích hoạt chương trình chính rồi chương trình con exit.

    Thân.

  3. #3
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Để restart lại chương trình thì bạn có thể dùng một chương trình con để kích hoạt. Các bước có thể suy nghĩ như sau:

    0. Chương trình chính mỗi khi start phải ghi lại nơi mà nó đang được lưu trữ. Có thể ghi vào Registry.
    1. Chương trình chính muốn restart thì run một chương trình con rồi chương trình chính exit.
    2. Chương trình con khi hoạt động sẽ rà trong các Process đang chạy có process của chương trình chính không? Nếu không tìm thấy thì dựa vào giá trị Registry, tìm đến nơi của chương trình chính. Kích hoạt chương trình chính rồi chương trình con exit.
    làm thế mất công quá,nếu muốn làm chỉ cần createProcess chuơng trình tự gọi chính nó tự đọc registry cần gì 2 chương trình cho khổ,thêm nữa là cần gì cứ phải restart lại mới được bạn có thể dùng hàm setwindowText để đặt lại các Title mà

  4. #4
    Ngày gia nhập
    10 2007
    Bài viết
    27

    làm thế mất công quá,nếu muốn làm chỉ cần createProcess chuơng trình tự gọi chính nó tự đọc registry cần gì 2 chương trình cho khổ,thêm nữa là cần gì cứ phải restart lại mới được bạn có thể dùng hàm setwindowText để đặt lại các Title mà
    Bạn Cpro hiểu thế nào gọi là restart? Bạn createProcess của chương trình chính thì là bạn tạo ra một instance mới của nó. Tôi giả định một trường hợp bạn cùng một bạn nữa làm chung. Bạn của bạn lập trình trước khi chương trình tắt sẽ flush dữ liệu ra file configuration. Bạn thì "restart" theo kiểu tạo tạo instance. Như vậy có thể xảy ra trường File can not be accessed vì instance trước còn đang ghi thì instance mới lại đòi đọc/ghi...v..v..
    Thân.

  5. #5
    Ngày gia nhập
    03 2009
    Bài viết
    18

    Trích dẫn Nguyên bản được gửi bởi Cpro Xem bài viết
    làm thế mất công quá,nếu muốn làm chỉ cần createProcess chuơng trình tự gọi chính nó tự đọc registry cần gì 2 chương trình cho khổ,thêm nữa là cần gì cứ phải restart lại mới được bạn có thể dùng hàm setwindowText để đặt lại các Title mà
    Mình đổi language cho form bằng cách sử dụng thuộc tính Localize và Languge của form, bằng cách này có thể tạo nhiều giao diện ngôn ngữ cho nhiều thứ tiếng mà ko cần làm thủ công bằng cách setWindowsText cho các title. ứng với mỗi ngôn ngữ, C# sẽ tự biên dịch thành 1 file dll riêng. các file này sẽ được load khi form load, do đó mỗi lần đổi ngôn ngữ bắt buộc phải reload lại form.
    Nhưng rất tiếc là mình ko biết cách làm sao reload form cả. xin chỉ giúp
    Keep It Simple, Stupid

  6. #6
    Ngày gia nhập
    01 2009
    Bài viết
    201

    Mặc định How to reload a form in a C# Program?

    VD Form của bạn đang ở trạng thái nào đó mà load lại thì cũng phiền lắm,nếu thế đợi xem có cách nào hơn không

  7. #7
    Ngày gia nhập
    12 2008
    Bài viết
    235

    Visual C# Code:
    1. System.Windows.Forms.Application.Restart();

  8. #8
    Ngày gia nhập
    12 2008
    Bài viết
    43

    Phương thức restart form của bạn nè:
    Application.Restart();

  9. #9
    Ngày gia nhập
    03 2009
    Bài viết
    18

    Mình đã làm được rồi. Cám ơn các bạn
    Keep It Simple, Stupid

Các đề tài tương tự

  1. Tự đọng reload lại trang khi debug
    Gửi bởi nguyenhuybl46 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 19-04-2012, 03:13 PM
  2. ADO.NET reload lại dữ liệu sau khi thao tác trên datagridview C#?
    Gửi bởi manutdvntb trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 12-03-2012, 07:18 PM
  3. Graphic Reload form trong WPF như thế nào?
    Gửi bởi VuongGAD trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 20-12-2011, 12:11 AM
  4. Reload Page trong ASP.NET?
    Gửi bởi nho_oi113 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 11-08-2010, 08:32 PM
  5. Reload một form trên C#?
    Gửi bởi baotran trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 19
    Bài viết cuối: 03-04-2010, 11:57 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn