2013-08-26 30 views
10

Tôi có một biểu mẫu mà tôi muốn luôn luôn ở trên cùng bất cứ khi nào nó được mở trong ứng dụng nhưng tôi không muốn nó ở trên cùng khi biểu mẫu chính được thu nhỏ hoặc ứng dụng khác điều hướng. Tôi muốn nó chỉ đứng đầu trong đơn của tôi.Làm thế nào để tạo biểu mẫu luôn ở trên cùng trong Ứng dụng

Sau câu trả lời trong câu hỏi: How to make a window always stay on top in .Net?

this.TopMost = true; 

Làm cho các hình thức trên nhưng hình thức vẫn còn nằm trên đầu khi một ứng dụng khác được chuyển đến hoặc hình thức chính được đóng lại.

Làm cách nào để tạo biểu mẫu ở trên cùng trong ứng dụng trong khi vẫn cho phép người dùng vẫn hoạt động trên biểu mẫu chính?

+1

Hãy làm rõ: bạn muốn nó ở trên cùng trong khi ứng dụng của bạn không bị thu nhỏ HOẶC trên cùng của tất cả các cửa sổ thuộc về ứng dụng của bạn? –

+0

@AlexeiLevenkov Trên cùng của tất cả các cửa sổ thuộc về ứng dụng của tôi –

+0

Bạn có thể mở 'Biểu mẫu' bằng cách sử dụng' ShowDialog' thay vì 'Hiển thị ' –

Trả lời

14

Bạn đang tìm kiếm một cửa sổ sở hữu. Nó luôn luôn là trên đầu trang của chủ sở hữu và nó được giảm thiểu cùng với chủ sở hữu. Các ví dụ điển hình về các cửa sổ thuộc sở hữu là các cửa sổ trợ giúp khác nhau bên trong Visual Studio. Bạn có thể tháo bỏ chúng nhưng chúng sẽ luôn ở trên đầu cửa sổ chính của VS.

Bạn tạo một cửa sổ được sở hữu bằng cách hiển thị cửa sổ đó với quá tải Hiển thị (chủ sở hữu). Hoặc bằng cách chỉ định rõ ràng thuộc tính Chủ sở hữu của nó.

4

Đặt cấp cao nhất rồi đặt chủ sở hữu, ví dụ bên dưới.

public Form1() 
{ 
    InitializeComponent(); 
    Form2 f2 = new Form2(); 
    //top level not really needed 
    f2.TopLevel = true; 
    f2.Show(this); 
} 
+2

TopLevel đã được * true * theo mặc định. –

+0

Đặt 'TopLevel' thành' true' trong trường hợp này dẫn đến cửa sổ ở trên đầu các ứng dụng khác. Nếu nó được đặt thành 'false' và có một chủ sở hữu, nó sẽ chỉ ở trên đầu của ứng dụng. – jahu

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