में मल्टी-लाइन स्ट्रिंग PropertyGrid
में एक बहु-पंक्ति स्ट्रिंग के लिए एक अंतर्निहित संपादक है।प्रॉपर्टीग्रिड
उत्तर
मुझे लगता है कि System.Design.dll
पाया System.ComponentModel.Design.MultilineStringEditor
जो इस प्रकार इस्तेमाल किया जा सकता है:
public class Stuff
{
[Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
public string MultiLineProperty { get; set; }
}
नहीं, आपको एक मॉडल यूआई प्रकार संपादक कहलाए जाने की आवश्यकता होगी। आपको UITypeEditor से विरासत प्राप्त करने वाली कक्षा बनाने की आवश्यकता होगी। यह मूल रूप से एक रूप है जो दिखाया जाता है जब आप उस संपत्ति के दाहिने तरफ इलिप्सिस बटन पर क्लिक करते हैं जिसे आप संपादित कर रहे हैं।
मुझे मिली एकमात्र कमी यह थी कि मुझे विशिष्ट स्ट्रिंग प्रॉपर्टी को एक विशिष्ट विशेषता के साथ सजाने की आवश्यकता थी। ऐसा कुछ समय हो गया है क्योंकि मुझे ऐसा करना था। मुझे क्रिस बेल्स द्वारा एक पुस्तक से यह जानकारी मिली है जिसे "विंडोज फॉर्म प्रोग्रामिंग इन सी #"
विजुअलहिंट द्वारा Smart PropertyGrid.NET नामक व्यावसायिक प्रॉपर्टीग्रीड है।
हां। मैं काफी याद नहीं है कि यह कैसे कहा जाता है, लेकिन ComboBox की तरह कुछ के लिए आइटम संपत्ति संपादक को देखो
संपादित: @fryguybob के रूप में, ComboBox.Items System.Windows.Forms.Design.ListControlStringCollectionEditor
ComboBox.Items System.Windows.Forms.Design.ListControlStringCollectionEditor का उपयोग करता है मैं डॉन ऐसा नहीं लगता कि मैं काफी खोज रहा हूं, लेकिन यह करीब है। – fryguybob
हम संपत्ति ग्रिड में बहु समर्थन प्राप्त करने के हमारे कस्टम संपादक लिखने के लिए की जरूरत है।
यहाँ, ग्राहक पाठ संपादक वर्ग UITypeEditor
से लागूpublic class MultiLineTextEditor : UITypeEditor
{
private IWindowsFormsEditorService _editorService;
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.DropDown;
}
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
_editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
TextBox textEditorBox = new TextBox();
textEditorBox.Multiline = true;
textEditorBox.ScrollBars = ScrollBars.Vertical;
textEditorBox.Width = 250;
textEditorBox.Height = 150;
textEditorBox.BorderStyle = BorderStyle.None;
textEditorBox.AcceptsReturn = true;
textEditorBox.Text = value as string;
_editorService.DropDownControl(textEditorBox);
return textEditorBox.Text;
}
}
Write your custom property grid and apply this Editor attribute to the property
class CustomPropertyGrid
{
private string multiLineStr = string.Empty;
[Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))]
public string MultiLineStr
{
get { return multiLineStr; }
set { multiLineStr = value; }
}
}
मुख्य रूप में इस वस्तु आवंटित
propertyGrid1.SelectedObject = new CustomPropertyGrid();
- 1. प्रॉपर्टीग्रिड
- 2. प्रॉपर्टीग्रिड
- 3. प्रॉपर्टीग्रिड ऑब्जेक्ट-लेवल
- 4. ऑब्जेक्ट्स के प्रॉपर्टीग्रिड और गतिशील प्रकार
- 5. प्रॉपर्टीग्रिड में टाइप कनवर्टर केवल स्ट्रिंग से परिवर्तित होता है,
- 6. को ड्रिल-डाउन के साथ प्रॉपर्टीग्रिड की आवश्यकता है, क्विकवॉच
- 7. किसी संपत्ति ग्रिड से गुणों को रीसेट करना
- 8. डब्ल्यूपीएफ में .NET 2.0 (विंडोज फॉर्म) नियंत्रणों का उपयोग करने की सीमाएं?
- 9. Xceed PropertyGrid
- 10. मैं बंद-स्रोत प्रकार के सभी गुणों के लिए एक कस्टम UITypeEditor कैसे इंजेक्ट कर सकता हूं?
- 11. ICustomTypeDescriptor, TypeDescriptionProvider, TypeConverter, और UITypeEditor
- 12. मैं संपत्ति ग्रिड को किसी विशिष्ट संपत्ति के लिए कस्टम संवाद दिखाने के लिए कैसे मजबूर कर सकता हूं?
- 13. कैसे पता चलेगा कि नियंत्रण डिज़ाइन-समय पर है या नहीं?
- 14. मैं संख्याओं का उपयोग करके एक enum कैसे बना सकते हैं?
- 15. रनटाइम पर PropertyGrid को संशोधित करने के लिए (संपत्ति/गतिशील प्रकार/enums जोड़ें/हटाएं)
- 16. PropertyGrid
- 17. Winforms PropertyGrid - गुण संपादन योग्य नहीं हैं
- 18. एक PropertyGrid
- 19. कस्टम, जटिल, गतिशील प्रतिबिंब समाधान - सी #
आपको .NET Framework का कौन सा संस्करण मिला है? –
http://msdn.microsoft.com/en-us/library/system.componentmodel.design.multilinestringeditor.aspx इंगित करता है कि यह 2.0, 3.0 और 3.5 में है। – fryguybob
इसका उपयोग कैसे करें? मैं लिखने की कोशिश कर रहा हूं [संपादक (टाइपोफ (मल्टीलाइनस्ट्रिंग एडिटर), टाइपोफ (यूआईटीपीएडडिटर)) [श्रेणी एट्रिब्यूट ("Misc"), विवरण ("इस मेल के लिए सभी http शीर्षलेख"), डिस्प्लेनाम ("HTTP शीर्षलेख") ] सार्वजनिक स्ट्रिंग HttpHeaders { {वापसी मेल। HttpHeaders; } } लेकिन यह HttpHeaders को multiline के रूप में प्रदर्शित नहीं करता है। – Alex