2012-03-23 14 views
16

Tôi có biểu mẫu Windows Forms nơi tôi đang cố hiển thị điều khiển người dùng khi biểu mẫu tải. Thật không may, nó không hiển thị bất cứ điều gì. Tôi đang làm gì sai? Xin vui lòng xem mã bên dưới:Cách thêm sự kiện tải biểu mẫu (hiện không hoạt động)

AdministrationView wel = new AdministrationView(); 
public ProgramViwer() 
{ 
    InitializeComponent(); 
} 


private void ProgramViwer_Load(object sender, System.EventArgs e) 
{ 
    formPanel.Controls.Clear(); 
    formPanel.Controls.Add(wel); 
} 

Xin lưu ý tôi đã thêm sự kiện tải dựa trên những gì tôi đọc trong bài viết này:

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.load.aspx

Trả lời

40

Ba cách bạn có thể làm điều này - từ thiết kế mẫu, chọn biểu mẫu, và nơi bạn thường thấy danh sách các thuộc tính, ngay phía trên nó phải có một biểu tượng sét nhỏ - điều này cho bạn thấy tất cả các sự kiện của biểu mẫu. Tìm sự kiện tải biểu mẫu trong danh sách và bạn sẽ có thể chọn ProgramViwer_Load từ trình đơn thả xuống.

Một cách thứ hai để làm điều đó là lập trình - ở đâu đó (constructor có thể) bạn cần phải thêm nó, một cái gì đó như: ProgramViwer.Load += new EventHandler(ProgramViwer_Load);

Một cách thứ ba sử dụng các nhà thiết kế (có lẽ là nhanh nhất) - khi bạn tạo ra một hình thức mới, nhấp đúp vào giữa nó trên nó trong chế độ thiết kế. Nó sẽ tạo ra một sự kiện tải Form cho bạn, móc nó vào và đưa bạn đến mã xử lý sự kiện. Sau đó, bạn chỉ có thể thêm hai dòng của bạn và bạn tốt để đi!

+0

Cảm ơn người thứ ba! Tôi không biết điều đó !!! – Jenix

+0

Vì một số lý do không có tùy chọn thả xuống nào đang được tải xuống, trong trình khám phá sự kiện. –

+1

@DaveKelly danh sách thả xuống sẽ liệt kê tất cả các trình xử lý sự kiện tương thích mà bạn đã viết - Tôi nghi ngờ bạn chưa tạo một trình duyệt. Trong câu hỏi này, OP đã viết một. Sao chép và dán và sửa đổi câu hỏi trong câu hỏi này hoặc tự tạo một câu hỏi. – Bridge

14

Bạn nhận được một nửa câu trả lời! Bây giờ bạn đã tạo trình xử lý sự kiện, bạn cần phải móc nó vào biểu mẫu để nó thực sự được gọi khi biểu mẫu đang tải. Bạn có thể đạt được điều đó bằng cách làm như sau:

public class ProgramViwer : Form{ 
    public ProgramViwer() 
    { 
     InitializeComponent(); 
     Load += new EventHandler(ProgramViwer_Load); 
    } 
    private void ProgramViwer_Load(object sender, System.EventArgs e) 
    { 
     formPanel.Controls.Clear(); 
     formPanel.Controls.Add(wel); 
    } 
} 
Các vấn đề liên quan