2009-07-13 18 views
15

मुझे Form.TopMost संपत्ति मिली है, लेकिन यह मेरे ऐप का हिस्सा नहीं है, जिसमें सामान सहित सबकुछ ऊपर है। मुझे संदेह है कि मुझे कुछ स्पष्ट याद आ रही है। (Form एक गैर मोडल संवाद बॉक्स के लिए उचित आधार वर्ग है?)एक बनावट एक दूसरे के शीर्ष पर कैसे बनाते हैं?

उत्तर

27

अपने संवाद फ़ॉर्म की Form.Owner प्रॉपर्टी का उपयोग करें और इसे मुख्य फॉर्म पर सेट करें।

और पढ़ें यहाँ http://msdn.microsoft.com/en-us/library/system.windows.forms.form.owner.aspx

स्वामित्व प्रपत्र मालिक फार्म के पीछे प्रदर्शित नहीं की जाएगी।

+0

बिंगो, बिल्कुल मुझे क्या चाहिए! – BCS

1

आप बच्चे फॉर्म पर बुलाए गए ShowDialog() विधि के पैरामीटर के रूप में पैरेंट फॉर्म की आपूर्ति करके विंडोज़ के बीच माता-पिता के संबंधों को निर्दिष्ट कर सकते हैं। तब बच्चे की खिड़की माता-पिता के शीर्ष पर रहेगी और माता-पिता के साथ कम से कम और पुनर्स्थापित भी होगी।

+0

पर कॉल करने के लिए आपको केवल मालिक को पास करना होगा क्योंकि यह शोडियलॉग का उपयोग नहीं कर सकता है क्योंकि यह इसे मोडल बनाता है। – BCS

0

यदि मैं आपको सही ढंग से समझता हूं कि आप अपने आवेदन से एक फॉर्म खोल रहे हैं, और आप चाहते हैं कि आपका नया फॉर्म पुराने के शीर्ष पर हो।

ऐसा करने के लिए आप ShowDialog() और StartPosition

SomeForm MyNewForm = new SomeForm(); 
MyNewForm.ShowDialog(); 

उपयोग कर सकते हैं इस orignal एक के ऊपर उस रूप ठहरने कर देगा, और आप भी

MyNewForm .StartPosition = FormStartPosition.CenterParent; 

का उपयोग जहां कि नई नियंत्रित करने के लिए कर सकते हैं स्क्रीन पर फॉर्म दिखाता है।

+0

मैं शोडियलॉग का उपयोग नहीं कर सकता क्योंकि यह इसे मोडल बनाता है। – BCS

6

यह बहुत आसान है; जब आप Show() विधि

YourForm.Show(parentForm); 
संबंधित मुद्दे