2009-06-10 13 views
8

मेरे पास एक फॉर्म है जिसे मैंने पर पर अधिकतम किया है, लेकिन किसी कारण से यह टास्कबार को अनदेखा कर रहा है और पूरी स्क्रीन को अधिकतम कर रहा है। क्या यह ठेठ है? क्या आसपास कोई काम है?अधिकतम स्क्रीन टास्कबार को अनदेखा करती है

मैं एक दोहरी मॉनीटर सेटअप (पहली/प्राथमिक विंडो में टास्कबार) के साथ विंडोज   एक्सपी चला रहा हूं।

+0

[ShowInTaskbar] (http://msdn.microsoft.com/en-us/library/system.windows.forms.form है। showintaskbar.aspx) संपत्ति गलत पर सेट? – Shoban

+1

MaximizedBounds संपत्ति असाइन करें। –

उत्तर

6

एक चीज़ जो मैंने विवरण से बाहर छोड़ी - मैंने अधिकतम बटन बंद कर दिया। जब मैंने उस संपत्ति को वापस चालू करने का परीक्षण किया, तो टास्क बार फिर से दिखाई दिया। स्पष्ट रूप से यह मानता है कि यदि आप एक अधिकतम बटन नहीं चाहते हैं तो आप एक कियोस्क-स्टाइल एप्लिकेशन बना रहे हैं जहां आप नहीं चाहते हैं कि आपके उपयोगकर्ता कुछ भी देखें लेकिन एप्लिकेशन स्क्रीन। बिल्कुल वही नहीं जो मैं उम्मीद करता हूं, लेकिन मुझे लगता है कि काम करता है।

3

अधिकतम सीमा बनाने से पहले फॉर्म सीमा को किसी भी को सेट करें।

इस कोड को एक भी नजर रखने में काम करेंगे:

private void Form1_Load(object sender, EventArgs e) 
{ 
    this.FormBorderStyle = FormBorderStyle.None; 
    this.WindowState = FormWindowState.Maximized; 
} 

मैं दोहरी मॉनिटर परिदृश्य का परीक्षण नहीं किया क्योंकि मैं इस समय इस जरूरत नहीं है। : पी

संपादित: मैं इसे "अधिकतम स्क्रीन उपेक्षा टास्कबार" नहीं मिला। का अर्थ क्या है?

क्या आप चाहते हैं कि आपका फॉर्म टास्कबार को कवर करे और पूरी स्क्रीन भरें?

+0

उसका मतलब है कि उसका फॉर्म पूरी स्क्रीन को कवर करता है, यहां तक ​​कि टास्कबार को छुपाता है जिसे वह नहीं चाहता है। –

+0

उसमें जोड़ने के लिए, उसे अपने फॉर्म की फॉर्मबॉर्डर स्टाइल संपत्ति जांचनी चाहिए और सुनिश्चित करें कि यह FormBorderStyle.None पर सेट नहीं है। –

3

आप बड़ा करें बटन को फिर से सक्षम नहीं करना चाहते हैं, तो आप मैन्युअल रूप से विंडो का आकार सेट कर सकते हैं:

private void Maximize() 
{ 
    Screen screen = Screen.FromPoint(this.Location); 
    this.Size = screen.WorkingArea.Size; 
    this.Location = Point.Empty; 
} 

(WorkingArea कि अनुप्रयोगों के द्वारा इस्तेमाल किया जा सकता स्क्रीन के क्षेत्र है, आप FormBorderStyle.None उपयोग कर रहे हैं TaskBar और अन्य उपकरण पट्टियों)

+0

काम नहीं करता है - sys मेनू maximize आपके 'अधिकतम() 'विधि –

+1

@ZachSaw को कॉल नहीं करता है, बेशक यह नहीं है, यह क्यों होगा? यह एक तरीका है जिसे आपको स्वयं को कॉल करना है। –

+0

जब आपके पास sysmenu popup है तो यह अधिकतम स्थिति के रूप में दिखाई नहीं देता है! –

12

छोड़कर तो यह यकीन है कि यह कार्य पट्टी को कवर नहीं करता बनाने के लिए विस्तृत होने पर बहुत सरल है:

this.MaximumSize = Screen.PrimaryScreen.WorkingArea.Size; 

यह w बीमार शायद अन्य सीमा शैलियों के लिए काम करते हैं और शायद यह सुनिश्चित करने का सबसे साफ तरीका है कि आपका फॉर्म टास्कबार को कवर नहीं करता है।

+5

आपको शायद 'स्क्रीन.प्रिमरीस्क्रीन' के बजाय 'Screen.FromControl (this) 'का उपयोग करना चाहिए। यदि उपयोगकर्ता के पास एकाधिक स्क्रीन हैं, तो आपका नियंत्रण प्राथमिक स्क्रीन पर आवश्यक नहीं होगा। –

+0

स्क्रीन पर काम नहीं करता है। यदि आप 'ऑनमोव' ईवेंट में 'अधिकतम आकार' सेट करते हैं तो आप गैर-अधिकतम मोड में स्क्रीन की चौड़ाई के लिए बाध्य होने वाले फ़ॉर्म के साथ समाप्त हो जाएंगे (यह डिफ़ॉल्ट व्यवहार नहीं है)। –

+1

मेरे लिए काम नहीं किया –

2

टास्कबार को बाएं, ऊपर, नीचे, दाईं ओर डॉक किया जा सकता है। आप किसी से प्रपत्र बॉर्डर शैली सेट करते हैं प्रपत्र कार्य पट्टी छुपा देगा

 

...cut... 
    public partial class Form2 : Form 
    { 
     public Form2() 
     { 
      // set default start position to manual 
      this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; 


      // set position and size to the Form. 
      this.Bounds = Screen.PrimaryScreen.WorkingArea; 


     .... 
      InitializeComponent(); 
     } 

...cut... 
0

: आप ओवरले टास्कबार बिना विस्तृत विंडो चाहते हैं, इस कोड का उपयोग। इसके आस-पास पहुंचने के लिए आपको मैन्युअल रूप से अधिकतम आकार का सेट सेट करना होगा। यदि खिड़कियां टास्कबार को स्वतः छिपाती हैं तो फॉर्म छुपा टास्कबार भी कवर करेगा! इस के आसपास पाने के लिए अधिकतम आकार ऊंचाई को एक पिक्सेल से कम करें (यदि आपकी टास्कबार नीचे है)!

 Me.MaximumSize = New Size(My.Computer.Screen.WorkingArea.Size.Width, _ 
            My.Computer.Screen.WorkingArea.Size.Height - 1) 
3

एक बात मैं विवरण के बाहर छोड़ दिया - I'd बड़ा करें बटन बंद कर दिया। जब मैंने उस संपत्ति को वापस चालू करने का परीक्षण किया, तो टास्क बार फिर से दिखाई दिया। स्पष्ट रूप से यह मानता है कि यदि आप एक अधिकतम बटन नहीं चाहते हैं तो आप एक कियोस्क-स्टाइल एप्लिकेशन बना रहे हैं जहां आप नहीं चाहते हैं कि आपके उपयोगकर्ता कुछ भी देखें लेकिन एप्लिकेशन स्क्रीन। बिल्कुल वही नहीं जो मैं उम्मीद करता हूं, लेकिन मुझे लगता है कि काम करता है।

मुझे यह समस्या थी और इसे जेफ की मदद से हल किया गया। सबसे पहले, विंडोस्टेट को पर अधिकतम पर सेट करें। लेकिन MaximizeBox को अक्षम न करें। तो अगर आप चाहते हैं MaximizeBox अक्षम होने आप इसे प्रोग्राम के रूप में करना चाहिए:

private void frmMain_Load(object sender, EventArgs e) 
{ 
    this.MaximizeBox = false; 
} 
संबंधित मुद्दे