2009-05-29 27 views
6

Tôi có một biểu mẫu cửa sổ bật lên một hộp thoại nếu điều kiện certian được đáp ứng khi biểu mẫu tải. Vấn đề là cửa sổ không ở trên đầu và tôi vẫn có thể nhấp vào điều trên phụ huynh. Tuy nhiên, có một nút trên biểu mẫu mà khi nhấn mở ra cùng một cửa sổ, khi tôi làm điều này nó hoạt động như mong đợi (như một cửa sổ hộp thoại).ShowDialog() không làm cho cửa sổ phương thức

Có sự cố khi hiển thị hộp thoại khi biểu mẫu tải lần đầu tiên không?

+1

Bạn có thiết lập đúng chủ sở hữu? – OregonGhost

+0

Có thể có bất kỳ lý do nào cho việc này; ngoài việc đoán ngẫu nhiên, cách duy nhất để chẩn đoán vấn đề là xem mã bạn đang sử dụng. –

Trả lời

2

Bạn có đang gọi ShowDialog từ lớp Biểu mẫu không? Bởi vì nó sẽ chỉ thiết lập cửa sổ cha nếu được gọi từ một Biểu mẫu khác. Hoặc bạn có thể sử dụng quá tải có thông số IWin32Window để đặt cụ thể chủ sở hữu.

0

bạn có thể giải thích vấn đề này hơn nữa vì đây là mã của tôi mà không thể hiện dưới hình thức nó tự cho đến khi hộp thoại đã bị đóng cửa hoặc là bạn thiết lập các mẹ hay không

private void Form1_Load(object sender, EventArgs e) 
     { 
      //your functionality goes here  
      AboutBox1 box = new AboutBox1(); 
      box.ShowDialog(); 
     } 
    } 

ở phía bên kia bạn cũng có thể kiểm tra với tài sản TopMost

0

Phương thức ShowDialog cần phải được gọi từ biểu mẫu mà bạn muốn làm cha mẹ/chủ sở hữu để nó trở thành phương thức cho biểu mẫu đó. Ngoài ra, tôi tin rằng bạn có thể đặt chủ sở hữu của một hộp thoại trực tiếp nhưng tôi chưa bao giờ cần làm điều đó.

0

DaBomb,

Để làm những gì bạn muốn, bạn sẽ phải gọi hộp thoại modal của bạn từ khởi tạo của form chính của bạn, không phải từ sự kiện Form_Load.

Something như thế này:

public Form1() 
    { 
     InitializeComponent(); 
     this.Show(); 
     Form2 popupForm = new Form2(); 
     popupForm.ShowDialog(); 
    } 
Các vấn đề liên quan