2009-08-19 34 views

Trả lời

7

Mặc dù các điều khiển xuất hiện bên trong một vùng chứa (như một TabControl), tất cả chúng đều được xác định trên biểu mẫu, vì vậy không cần phải truy cập chúng thông qua vùng chứa.

Thay vì:


tablControl1.TabPages[0].MyContainedControl... 

Đơn giản chỉ cần gõ:


MyContainedControl... 
+2

Oh lol. Bạn thiên tài bạn. Cảm ơn. : D –

7

Trừ khi bạn đã thiết GenerateMember false trên hộp hình ảnh hoặc bạn đang xây dựng theo hình thức tự động bạn sẽ có thể tham khảo hộp hình ảnh theo tên của nó:

pictureBox1.ImageLocation = "..."; 

Nếu không, giả sử hình e hộp là kiểm soát đầu tiên trong trang tab đầu tiên bạn có thể sử dụng Controls bộ sưu tập:

var picBox = (PictureBox) tabControl1.TabPages[0].Controls[0]; 
picBox.ImageLocation = "..."; 

Nếu bạn biết có đúng một hộp hình ảnh ở đâu đó nhưng bạn không chắc chắn những gì trang đó là trên hoặc trong trường hợp trên trang đó bạn có thể sử dụng Linq:

var picBox = tabControl1.TabPages.Cast<Control>() 
    .SelectMany(page => page.Controls.OfType<PictureBox>()) 
    .First(); 
picBox.ImageLocation = "..."; 
Các vấn đề liên quan