2012-12-26 24 views
5

Kullandığım abonelik verilerini işleyen bir winform uygulaması var. Ana form, kullanıcının buna verip vermediğini (xml dosyası) kontrol edip etmediğini kontrol eder. UserDetails bir veri giriş formudur.ShowDialog() Formun ana formun üstünde gösterilmiyor

else 
{ 
    Form frm = new UserDetails(); 
    frm.ShowDialog(); 
} 

Sorun, UserDetail formu üstte değil ve ana formu seçebilir.

+1

Başlığınızı düzenledim. Lütfen, "[Sorular soruların başlığında" etiketler içeriyor mu? "(Http://meta.stackexchange.com/questions/19190/)" bölümüne bakacak olursak, fikir birliği "hayır, yapmamalı" dır. –

+0

Bunu aklımda tutacağım. – Frazzle

+0

Bu kodda bir kesme noktası ayarlayın. Vurduğunda, Debug + Windows + Threads kullanın. Ana iş parçacığı üzerinde çalıştığından emin olun. –

cevap

7

Ana formunuz TopMost ise, bu durum oluşabilir.

deneyin ana formdan çağrıldığında

frm.ShowDialog(this); 

kullanarak.

Bu, iletişim kutusunun ana formun görsel bir alt öğesi olmasını sağlar ve ana form TopMost olsa bile, iletişim kutusunun üstünde olacaktır.

+0

'TopMost = true' biçiminden' fmr.ShowDialog() 'çağrılıyor, iletişim hala TopMost formunun üstüne koyar. Yani bence sorun bu değil. –

+0

@Rotem Teşekkür ederim frm.ShowDialog (bu) denedim; ama aynı sonuçtur. Bunun bir vs2012 hatası olup olmadığını merak etmeye başlıyorum. – Frazzle

+0

@Frazzle - Formlardan hangisinin soruna neden olduğunu kontrol edin: İletişim kutusunu yeni bir varsayılan formdan başlatmayı deneyin ve tersine, ana formunuzdan varsayılan bir iletişim kutusu başlatmayı deneyin. – Rotem

İlgili konular