¿Hay un editor incorporado para una cadena de varias líneas en un PropertyGrid
?Cadena de varias líneas en un PropertyGrid
Respuesta
encontré que tiene System.Design.dll
System.ComponentModel.Design.MultilineStringEditor
que puede ser utilizado de la siguiente manera:
public class Stuff
{
[Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
public string MultiLineProperty { get; set; }
}
No, tendrá que crear lo que se denomina un editor modal de tipo UI. Deberá crear una clase que herede de UITypeEditor. Esto es básicamente un formulario que se muestra al hacer clic en el botón de puntos suspensivos en el lado derecho de la propiedad que está editando.
El único inconveniente que encontré, era que necesitaba decorar la propiedad de cadena específica con un atributo específico. Ha pasado un tiempo desde que tuve que hacer eso. Obtuve esta información de un libro de Chris Sells llamado "Programación de Windows Forms en C#"
Hay una malla de propiedad comercial llamada Smart PropertyGrid.NET por VisualHint.
Sí. No acabo de acuerdo cómo se llama, pero mira en el editor de artículos propiedad de algo así como ComboBox
Editado: A partir de @fryguybob, ComboBox.Items utiliza el System.Windows.Forms.Design.ListControlStringCollectionEditor
ComboBox.Items utiliza el System.Windows.Forms.Design.ListControlStringCollectionEditor, I don No creo que sea exactamente lo que estoy buscando, pero está cerca. – fryguybob
tenemos que escribir nuestro editor personalizado para obtener el apoyo de varias líneas de cuadrícula de propiedades.
Aquí es la clase editor de texto al cliente implementado desde 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; }
}
}
En forma principal asigna este objeto
propertyGrid1.SelectedObject = new CustomPropertyGrid();
- 1. ¿Cómo explotar una cadena de varias líneas?
- 2. ¿Cómo puedo dividir una cadena de varias líneas en varias líneas?
- 3. Actualizar un PropertyGrid
- 4. Pegue una cadena Java de varias líneas en Eclipse
- 5. nueva línea en una cadena de varias líneas
- 6. PHP: dividir cadena de consulta larga en varias líneas
- 7. cortando una cadena en varias líneas en bash
- 8. varias líneas en UIButton
- 9. C# declarar una cadena que se extiende en varias líneas
- 10. BufferedReader: lee varias líneas en una sola cadena
- 11. ¿Cómo escribir un QString en varias líneas?
- 12. Declarar un NSString en varias líneas
- 13. Implementando subcampos en un PropertyGrid
- 14. ¿Cuál es una buena forma de recorrer líneas en una cadena de varias líneas?
- 15. TypeConverter en propertygrid solo se convierte de cadena, no en
- 16. Cadena de varias líneas JavaScript y Token inesperado ILLEGAL
- 17. ¿Cómo ingresar un comando de varias líneas?
- 18. encuentran varias líneas en Notepad ++
- 19. Pegar varias líneas en IDLE
- 20. Sangría varias líneas en Emacs
- 21. ¿Cómo agruparías varias líneas?
- 22. ¿Es posible dividir una cadena en varias líneas en un archivo XML? ¿Si es así, cómo?
- 23. comentario de varias líneas en vb.net
- 24. de varias líneas UILabel en UITableViewCell
- 25. Varias líneas de texto curvo en SVG
- 26. convertir varias líneas de texto en un marco de datos
- 27. comando de bash que abarca varias líneas con varias líneas de comentarios en el medio
- 28. Comentarios de varias líneas en el ensamblaje
- 29. Comentarios de varias líneas en Xcode
- 30. Mostrar pestañas de eclipse en varias líneas
¿En qué versión de .NET Framework encontró eso? –
http://msdn.microsoft.com/en-us/library/system.componentmodel.design.multilinestringeditor.aspx indica que está en 2.0, 3.0 y 3.5. – fryguybob
¿Cómo usar esto? Estoy tratando de escribir [Editor (typeof (MultilineStringEditor), typeof (UITypeEditor))] [CategoryAttribute ("Misc"), Descripción ("Todos los encabezados http para este correo."), DisplayName ("HTTP Headers") ] cadena pública HttpHeaders { get {return mail.HttpHeaders; } } pero esto no muestra HttpHeaders como multilínea. – Alex