2011-09-20 13 views
48

में टाइटल बार निकालें विंडो विंडो के शीर्ष पर स्थित नीली सीमा को मैं कैसे हटा सकता हूं? (मैं वास्तव में उसका नाम पता नहीं।)विंडोज फॉर्म

+2

इसे टाइटलबार कहा जाता है और आप इसे फ़ॉर्म की सीमा शैली की संपत्ति को कोई सीमा या कोई भी नहीं बदल सकते हैं। –

उत्तर

103

आप प्रॉपर्टी FormBorderStyle किसी से डिजाइनर में, या कोड में सेट कर सकते हैं:

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
+3

एक टाइपो है। यह 'फॉर्मबॉर्डर स्टाइल' है :) – ty812

10

None लिए फार्म की FormsBorderStyle सेट करें।

यदि आप करते हैं, तो यह आपके ऊपर है कि विंडो की खींचने और बंद करने की कार्यक्षमता को कैसे कार्यान्वित किया जाए।

55

तुम्हारा मतलब अगर Blue Border thats on top of the Window Form द्वारा titlebar, सेट रूपों ControlBox संपत्ति false करने और Text संपत्ति के लिए रिक्त स्ट्रिंग ("")।

this.ControlBox = false; 
this.Text = String.Empty; 
+6

आपके समाधान का सीमा सीमा शैली को किसी भी स्थान पर सेट करने का लाभ नहीं है, क्योंकि ... यह सीमा को बरकरार रखता है :) +1 – Spook

+0

और किसी भी तरह, यदि आप इसे 'FormBorderStyle.None' के माध्यम से करते हैं तो यह आपको अक्षम करता है किसी भी रूप में फॉर्म पर चित्रण (ऑनपेंट एक चित्र बॉक्स में एक छवि सेट करता है जिसमें 'डॉक' सेट 'भरने' पर सेट होता है), जब तक मैंने 'फॉर्मबॉर्डर स्टाइल नॉन' के साथ सीमा सेटिंग बदल दी, तब तक ठीक काम किया, लेकिन इस तरह, ड्राइंग अभी भी मेरे लिए काम करता है :) – DrCopyPaste

+0

@Spook: मैं बिल्कुल यह पूछने के लिए एक नया धागा तैयार करने जा रहा था :) – Jack

8
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None 
16

इसके अलावा यह अभी भी खींचने योग्य होने के लिए अनुमति देने के लिए अपने फार्म के लिए कोड के इस बिट जोड़ें:

यहाँ एक टुकड़ा है। https://jachman.wordpress.com/2006/06/08/enhanced-drag-and-move-winforms-without-having-a-titlebar/

अब शीर्षक पट्टी से छुटकारा पाने के:

बस ठीक निर्माता (विधि है कि InitializeComponent कॉल()


private const int WM_NCHITTEST = 0x84; 
private const int HTCLIENT = 0x1; 
private const int HTCAPTION = 0x2; 

/// 
/// Handling the window messages 
/// 
protected override void WndProc(ref Message message) 
{ 
    base.WndProc(ref message); 

    if (message.Msg == WM_NCHITTEST && (int)message.Result == HTCLIENT) 
     message.Result = (IntPtr)HTCAPTION; 
} 

कि कोड है से पहले जोड़ने लेकिन अभी भी एक सीमा है अन्य प्रतिक्रिया से कोड गठबंधन:

.ControlBox = झूठा;

यह.Text = String.Empty;

इस लाइन के साथ

:

this.FormBorderStyle = FormBorderStyle.FixedSingle;


प्रपत्र के OnLoad इवेंट में कोड के उन 3 लाइनों रखो और आप एक अच्छे 'चल' रूप है कि एक पतली सीमा के साथ खींचने योग्य है होना चाहिए (उपयोग FormBorderStyle.None अगर आप कोई सीमा चाहते हैं)।

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