2009-02-10 13 views
7

क्या कोई मानक सी # वर्ग है जो एक मानक बाएं, दाएं, ऊपर और नीचे परिभाषित करता है?सी # मानक वर्ग (गणना?) शीर्ष, नीचे, बाएं, दाएं

क्या मुझे अपना खुद का उपयोग करना चाहिए?

enum controlAlignment 
{ 
    left = 1, 
    top, 
    right, 
    bottom, 
    none = 0 
} 
+1

यदि आप एक WPF नामांकित आइटम की तलाश में हैं, तो आप System.Windows.Controls.Dock गणना का प्रयास कर सकते हैं। इसमें ध्वज विशेषता नहीं है, और यह 'कोई नहीं' विकल्प का समर्थन नहीं करता है। [Http://msdn.microsoft.com/en-us/library/system.windows.controls.dock.aspx](http://msdn.microsoft.com/en-us/library/system.windows.controls। dock.aspx) –

उत्तर

7

के बारे में पढ़ें शायद System.Windows.Forms.AnchorStyles या System.Windows.Forms.DockStyles काम कर सकता है।

2

जब तक कि आप एंकर शैलियों (जो अधिक हो) तक नहीं हो सकता। मैं इसके लिए अपना खुद का रोल करूंगा। मानक विनफॉर्म लाइब्रेरी में अलगVerticalAlignment और HorizontalAlignment उपयोगी हो सकते हैं।

+0

एक enum में कोई भी विकल्प नहीं है जो मैं आमतौर पर जोड़ता हूं, इसलिए एंकर शैलियों को लगता है कि यह अच्छी तरह से काम करता है! –

19

एक त्वरित खोज से पता चला निम्नलिखित फ्रेमवर्क Enumerations पहले से ही इन सदस्यों (कुछ अन्य अतिरिक्त सदस्य) है:

  • AnchorStyles - System.Windows.Forms
  • Border3DSide - System.Windows.Forms
  • DockStyle - System.Windows.Forms
  • किनारों - System.Windows.Forms.VisualStyles
  • TabAlignment - System.Windows.Forms
  • ToolStripStatusLabelBorderSides - System.Windows.Forms
  • VerticalAlignment - System.Windows.Forms.VisualStyles
+4

यह कुछ भी लायक नहीं है कि यह खोज विजुअल स्टूडियो में "ऑब्जेक्ट ब्राउज़र" का उपयोग करके किया जा सकता है। –

+0

एंकर स्टाइल ठीक से मिलान करने वाला एकमात्र ऐसा है, अन्य सभी या तो 'कोई नहीं' याद करते हैं या 'ऑल' जोड़ते हैं; VisualStyles पर विचार नहीं किया .. ToolStripStatusLabelBorderSides सबसे अच्छा है यदि आप 'सब' भी चाहते हैं। (बेशक सबसे लंबा नाम वाला एक। मैं अपना खुद का रोल करूंगा ..) – TaW

1

खैर, दोनों AnchorStyles और DockStyles चार आप की जरूरत के अलावा अतिरिक्त मान हैं; AnchorStyles अतिरिक्त FlagAttribute जिस पर जरूरी मतलब नहीं होगा (ऊपर बाईं ओर का क्या मतलब है? क्या वाम अधिकार के बारे में?)

जब से मैं किसी भी बिल्ट-इन कार्य है कि सामान्य रूप से मानक का लाभ ले सकता है के बारे में सोच नहीं कर सकते बदल गया है एंकर- और डॉक स्टाइल किसी भी सार्थक तरीके से डेटा प्रकार, अपनी खुद की गणना लिखना एक enum के लिए Windows.Forms के खिलाफ जोड़ने के लिए एक बहुत ही सुविधाजनक विकल्प की तरह लगता है।

बेशक, आप पहले से ही विंडोज़ के अंदर हैं। फर्म, और @ सेरेब्रस के सुझावों में से एक वास्तव में आपके संदर्भ में समझ में आता है।

1

मैं अक्सर इसके लिए System.Windows.Forms.ArrowDirection का उपयोग करता हूं, क्योंकि यह किसी विशेष उद्देश्य का संकेत नहीं देता है।

9

एक अच्छा enum भी हो सकता है:

System.Drawing। ContentAlignment (System.Drawing.dll में)

ये अपने सदस्यों हैं:

public enum ContentAlignment 
{ 
    TopLeft = 1, 
    TopCenter = 2, 
    TopRight = 4, 
    MiddleLeft = 16, 
    MiddleCenter = 32, 
    MiddleRight = 64, 
    BottomLeft = 256, 
    BottomCenter = 512, 
    BottomRight = 1024, 
} 
+1

Hurray, कुछ ऐसा नहीं है जो फॉर्म नहीं है! –

+0

@DirkBester यह WinForms कैसे नहीं है? या 'सिस्टम' ड्रॉइंग' के उपयोग के लिए यदि आप WPF/Silverlight' का उपयोग कर रहे हैं तो स्थिति कैसे बना सकते हैं? मैं सिस्टम का उपयोग करने के लिए ** ** ** का प्रयास करने की भी हिम्मत नहीं करता हूं। ड्रॉइंग। * जब मैं WinForms प्रोजेक्ट करता हूं। _ (लेकिन असल में यह वह जवाब भी था जिसे मैं ढूंढ रहा था, हालांकि एक ही प्रश्न के लिए नहीं) _ – Bitterblue

+0

@ बिटरब्लू स्वीकृत उत्तर System.Windows.Forms.AchorStyles का उपयोग करता है। यह System.Drawing.ContentAlignment का उपयोग करता है। देखें, मेरे wpf में आयातित कोई Winforms सामान नहीं। –

2

के बाद से वहाँ में कोई मानक enum है।नेट वास्तव में अपनी आवश्यकताओं से मेल खाते हैं, मैं अपने खुद के बनाने का सुझाव है (जैसा कि मैंने किया है):

[Flags] 
private enum Borders 
{ 
    None = 0, 
    Left = 1, 
    Top = 2, 
    Right = 4, 
    Bottom = 8, 
    All = Left | Top | Right | Bottom, 
} 

फिर आप HasFlag विधि को फोन करके अलग-अलग किनारों क्वेरी कर सकते हैं। मैं @ डीबीकेके से सहमत हूं, समान मूल्यों के साथ enums का उपयोग कर रहा हूं लेकिन कोड पढ़ने वाले किसी भी व्यक्ति के लिए एक अलग अर्थ भ्रमित हो सकता है।

+0

केंद्र डॉट जोड़ें। – lindexi

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