2011-03-13 14 views
10

मुझे संदेश बॉक्स स्थान बदलने की जरूरत है। मैं नहीं चाहता कि यह पृष्ठ के केंद्र में हो।मैं संदेशबॉक्स स्थान कैसे बदलूं?

MessageBox.Show("Hello"); 
+19

मैंने अपना शीर्षक 'मालिशबॉक्स' (सुंदर लगता है) से 'संदेशबॉक्स' में बदल दिया है। – jgauffin

+2

@jgauffin, टैग 'Winforms' थोड़ा गलत है, क्योंकि' MessageBox' भी WPF में उपलब्ध है। –

+0

संभावित डुप्लिकेट [Winforms- मैं संदेश बॉक्स को मुख्यफॉर्म पर केंद्रित कैसे कर सकता हूं?] (Http://stackoverflow.com/questions/2576156/winforms-how-can-i-make-messagebox-appear-centered-on-mainform) –

उत्तर

2

आपको संदेश बॉक्स फ़ॉर्म से प्राप्त एक नया फॉर्म बनाना होगा। स्थिति गुणों तक पहुंचने का यही एकमात्र तरीका है।

11

आम तौर पर, आप मानक संदेश बॉक्स के स्टार्टअप स्थान को नहीं बदल सकते हैं। अपने प्रश्न के लिए

समाधान:

  • अपने स्वयं के कस्टम संदेश बॉक्स बनाएँ। CodeProject पर सृजन का उदाहरण है।
  • Windows Hook Procedure (WinAPI) का उपयोग कर जटिल तरीका।
2

स्थान बदलने का एक तरीका है, लेकिन इस तरह के एक छोटे से काम के लिए इसका तरीका बहुत जटिल है।
यदि आपको वास्तव में अपना स्थान बदलने की आवश्यकता है, तो आप इसे प्रदर्शित कर सकते हैं, फिर विंडो वांछित करने के लिए GetForegroundWindow का उपयोग करें, फिर MoveWindow अपने वांछित स्थान पर।
लेकिन, जैसा कि मैंने पहले ही संकुचित किया है, यह तरीका बहुत जटिल है।
बस उस पर एक लेबल के साथ अपना खुद का फॉर्म "ठीक" बटन बनाएं। बटन को डिफ़ॉल्ट विंडो बटन के रूप में सेट करें, और उसके बाद, फॉर्म 1 में MyWndName.ShowDialog();

+0

आपको बहुत कुछ धन्यवाद और मैंने काम किया है – guy

+0

आप यह सुनिश्चित नहीं कर सकते कि 'GetForegroundWindow' आपको बनाए गए संदेश बॉक्स का संचालन देगा। संभव है कि उस पल में एक और आवेदन अग्रभूमि में जाएगा। –

2

एक नई विंडो बनाने के लिए आप क्या कर सकते हैं, संपत्ति सेट ट्रांस्पेरेंसी को सत्य पर सेट करें और पृष्ठभूमि को पारदर्शी पर सेट करें। उस विंडो में आप टेक्स्टब्लॉक या लेबल डाल सकते हैं और हां/नहीं बटन भी जोड़ सकते हैं। Canvs.SetTop (विंडो, टॉपपॉजिशन) और कैनवास.SetLeft (विंडो, बाएं स्थान) का उपयोग कर इस विंडो का स्थान सेट करें। इसके बाद, विधि दिखाएँ() या ShowDialog() के साथ विंडो को कॉल करें।

संबंधित मुद्दे