2012-06-21 11 views
6

को कम करें और मैं अपने Winform पर सहायता बटन जोड़ना चाहता हूं, लेकिन अधिकतम और बटन को छोटा करें, लेकिन विंडोज मानक दोनों को मदद बटन दिखाने में सक्षम होना है ।सहायता बटन जोड़ें, लेकिन अधिकतम रखें और

वहां पहले से ही इसी तरह के एक सवाल यह है: How to include help '?' in title bar of winform - लेकिन यह सवाल एक है जो प्रश्न पूछा दिखाने के लिए मदद के लिए उन 2 बटन को दूर करने के साथ सामग्री है में।

क्या वहां दूर है कि मुझे एक ही समय में मदद, अधिकतम, मिनट और बंद बटन मिल सकते हैं?

धन्यवाद।

+1

हां, लेकिन क्या आपने यह जवाब पढ़ा? यह संकेत देता है कि आपको शीर्षक बार को फिर से बनाना होगा। इस तरह के छोटे लाभ के लिए यह बहुत काम है। – LarsTech

+0

@ लार्सटेक - मैं उम्मीद कर रहा था कि सीमा पूरी तरह से रिकोड किए बिना एक रास्ता था। – Axxelsian

उत्तर

6

विंडोज दोनों को प्रदर्शित करने का समर्थन नहीं करता है। एक कार्यवाही एक ही कार्रवाई को ट्रिगर करने के लिए अपना खुद का बटन प्रदान करना है। इसे ऊपरी दाएं कोने के करीब कहीं भी रखें। मानक सहायता बटन की तरह ही आप स्वयं को WM_SYSCOMMAND संदेश भेजकर इसे ट्रिगर करते हैं। इस तरह:

private void Help_Click(object sender, EventArgs e) { 
     Help.Capture = false; 
     SendMessage(this.Handle, WM_SYSCOMMAND, (IntPtr)SC_CONTEXTHELP, IntPtr.Zero); 
    } 

    private const int WM_SYSCOMMAND = 0x112; 
    private const int SC_CONTEXTHELP = 0xf180; 
    [System.Runtime.InteropServices.DllImport("user32.dll")] 
    private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp); 

जो मानता है कि बटन का नाम "सहायता" है।

+0

मुझे एहसास नहीं हुआ कि मैं एक ही क्रिया को ट्रिगर करने के लिए एक बटन का उपयोग कर सकता हूं। धन्यवाद। – Axxelsian

+0

दरअसल, ऐसा लगता है कि खिड़कियां दोनों को दिखाने का समर्थन करती हैं, जैसा कि आप Word के नवीनतम संस्करण को खोलकर देख सकते हैं। वास्तव में, उन्होंने रिबन नियंत्रण के लिए वहां एक और बटन भी लगाया। यह सिर्फ कुछ कारणों से है, यह विंडोज प्रपत्रों में उचित रूप से समर्थित नहीं है ... – glopes

+2

कार्यालय ऐप्स कस्टम फ्रेम का उपयोग करते हैं, मानक विंडोज विंडो फ्रेम नहीं। अच्छी चीजें जो आप कर सकते हैं जब आपके पास उत्पाद पर काम कर रहे सैकड़ों प्रोग्रामर हैं। –

1

ऐसा करने का एक तरीका अपनी सीमा खींचना है।

FormBorderStyle = None 

अब अपना खुद का कैप्शन क्षेत्र बनाएं। यह गैर तुच्छ है क्योंकि आपको ड्रैग आकार बदलने की घटनाओं को संभालना है, यदि आप गोलाकार कोनों आदि चाहते हैं तो पारदर्शिता,

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