2011-10-11 31 views
10

Tôi có một ứng dụng biểu mẫu cửa sổ được viết bằng C#. Tôi muốn tải lại biểu mẫu khi ai đó nhấn nút "rõ ràng" trong đó. Nhưng tôi không thể đạt được để gọi sự kiện Tải. Các dòng này cũng không hoạt động:Tải lại biểu mẫu windows mà không đóng và mở lại

this.Refresh(); 
    this.Load +=new EventHandler(Grafik_Load); // 'Grafik' is the name of the form. 

Tôi nên làm gì về điều này? Cảm ơn bạn đã giúp đỡ ..

+1

Application.Restart(); có thể giải quyết rằng – Burimi

+0

nhưng nó sẽ hiển thị một nhấp nháy (đóng của nó và mở biểu mẫu) đó là những gì bài viết đã được yêu cầu để tránh. – Sandy

Trả lời

5

Đặt mã 'tải' trong một hàm riêng biệt và gọi hàm đó từ mã của bạn/Trình xử lý sự kiện tải.

+0

Thật sự tôi đã có một chức năng tải như: private void Grafik_Load (object sender, EventArgs e) { .... } Nhưng tôi không tìm thấy cú pháp chính xác để gọi nó là – user741319

+1

Grafik_Load (null, null) nên làm việc. – CodingBarfield

0

tôi thấy rằng ẩn/hiển thị, phần hiển thị tạo ra một thể hiện khác có cùng biểu mẫu, vì vậy tôi nên loại bỏ mẫu hiện tại, tạo phiên bản mới và hiển thị nó.

Grafik objFrmGrafik = new Grafik(); 
this.Dispose(); 
objFrmGrafik .Show(); 
0

Trang chủ là tên MDI-Form. tôi đã thử nghiệm nó.

home.ActiveForm.Dispose(); 
      home sd = new home(); 
      sd.Show(); 
4
 private void callonload() 
     { 
      //code which u wrriten on load event 
     } 
     private void Form_Load(object sender, EventArgs e) 
     { 
      callonload(); 
     } 
     private void btn_clear_Click(object sender, EventArgs e) 
     { 
      callonload(); 
     } 
0
//it is a good idea to use the 'sender' object when calling the form load method 
//because doing so will let you determine if the sender was a button click or something else... 

private void button2_Click(object sender, EventArgs e) 
{ 
    //you may want to reset any global variables or any other 
    //housekeeping before calling the form load method 
    Form1_Load(sender, e); 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 
    if (sender is Button) 
    { 
     //the message box will only show if the sender is a button 
     MessageBox.Show("You Clicked a button"); 
    } 
} 
+0

Chào mừng bạn đến với StackOverflow. Câu trả lời chỉ có mã trong đó có xu hướng bị gắn cờ để xóa vì chúng là "chất lượng thấp". Vui lòng đọc phần trợ giúp về trả lời các câu hỏi sau đó cân nhắc thêm một số bình luận vào Câu trả lời của bạn. – Graham

Các vấn đề liên quan