¿Cómo puedo establecer el ancho de columna de un control C# winforms listview
en automático? Algo como ancho = -1/-2?C# ListView Ancho de columna Auto
Respuesta
Dio la respuesta: -2 personalizará automáticamente la columna a la longitud del texto en el encabezado de la columna, -1 se autoescribirá al elemento más largo en la columna. All according to MSDN. Sin embargo, tenga en cuenta que en el caso de -1, tendrá que establecer el ancho de la columna después de agregar los elementos. Por lo tanto, si agrega un nuevo elemento, también deberá asignar la propiedad de ancho de la columna (o columnas) que desea autosizar según los datos en el control ListView
.
Hice un programa que despejó y volvió a llenar mi lista de vista varias veces. Por alguna razón, cada vez que agregué columnas con ancho = -2, encontré un problema con la primera columna demasiado larga. Lo que hice para arreglar esto fue crear este método.
private void ResizeListViewColumns(ListView lv)
{
foreach(ColumnHeader column in lv.Columns)
{
column.Width = -2;
}
}
Lo mejor de este método es que puedes colocarlo en cualquier lugar para cambiar el tamaño de todas tus columnas. Solo pase su ListView
.
Ampliando un poco en la respuesta de Fredrik, si desea establecer el ancho cambiar automáticamente el tamaño de la columna sobre la marcha Por ejemplo: Ajuste automático de la primera columna anchura -size a 70:
myListView.Columns[0].AutoResize(ColumnHeaderAutoResizeStyle.None);
myListView.Columns[0].Width = 70;
myListView.Columns[0].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
esta solución primero cambiar el tamaño de las columnas sobre la base de datos de la columna, si la anchura redimensionada es smalle r que el tamaño del encabezado, cambiará el tamaño de las columnas para, al menos, ajustarse al encabezado. Esta es una solución bastante fea, pero funciona.
lstContacts.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
colFirstName.Width = (colFirstName.Width < 60 ? 60 : colFirstName.Width);
colLastName.Width = (colLastName.Width < 61 ? 61 : colLastName.Width);
colPhoneNumber.Width = (colPhoneNumber.Width < 81 ? 81 : colPhoneNumber.Width);
colEmail.Width = (colEmail.Width < 40 ? 40 : colEmail.Width);
lstContacts es el ListView. colFirstName es una columna, donde 60 es el ancho requerido para ajustarse al título. Etc.
Creo que el autor buscaba un método equivalente a través de la IDE que generaría el código subyacente y asegurarse de que todos los parámetros estaban en su lugar, etc. Se han encontrado esto desde MS:
Creating Event Handlers on the Windows Forms Designer
Viniendo de un fondo de VB a mí mismo, esto es lo que estaba buscando, aquí está la versión breve por el clic adversa:
- Haga clic en la forma o controlar que y quieres crear un controlador de eventos para.
- En la ventana Propiedades, haga clic en el botón Eventos
- En la lista de eventos disponibles, haga clic en el evento para el que desea crear un controlador de eventos.
- En el cuadro a la derecha del nombre del evento, escriba el nombre del controlador y pulse ENTER
- 1. C# Listview, eliminar la columna de basura
- 2. ListView columna de tamaño automático
- 3. listview clasificación C# por columna específica
- 4. Ocultar la columna de wpf listview
- 5. Auto-ancho del contenido de ComboBox
- 6. HTML/CSS Dos columnas de auto-ancho
- 7. WPF ListView Databound Drag/Drop Auto Scroll
- 8. Cómo auto-tamaño de ancho de columna en Excel durante la entrada de texto
- 9. WPF DataGrid Columna Ancho
- 10. JQGrid Columna Ancho automático
- 11. GridViewColumn ajuste de ancho
- 12. Ordenando un ListView por columna
- 13. jqGrid y la opción de auto ancho. ¿Como funciona?
- 14. Ancho de celda de columna dinámica
- 15. ancho de columna de salida Powershell
- 16. Ancho de columna de cuadrícula de datos de enlace
- 17. WPF ancho de columna de acciones entre redes separadas
- 18. CSS Diseño automático de ancho y sin margen: auto
- 19. El ancho de columna calculado es diferente del ancho declarado css para la columna. ¿Cómo decide el navegador ancho?
- 20. Configuración de fondo de columna en WPF ListView/Gridview
- 21. ancho de columna en rich: datatable
- 22. DataGridView: cómo establecer el ancho de columna?
- 23. jQuery DataTables ancho máximo de columna
- 24. Java JTable establecer el ancho de columna
- 25. GWT CellTable - ancho de columna configurado
- 26. Restablecer un ancho de etiqueta flexible a "auto" después de establecer un ancho explícito?
- 27. Ocultar columna ID en el control ListView
- 28. Determine el ancho de un ancho DIV dinámico Multivolpea de DIV 3 ancho de columna fijo
- 29. Inicializando C# auto-propiedades
- 30. ¿Cuál es la diferencia entre 'Auto' y '*' cuando se establece el ancho/alto para una columna de cuadrícula?
esto va a establecer la anchura a la anchura del último elemento de la ListView – Qsiris
utilizo su código pero si tengo solo una columna en mi vista de lista, cada vez que obtengo una barra de desplazamiento horizontal.Si hay al menos dos columnas, el código funciona bien. ¿Sabes de dónde viene este comportamiento? – prototype0815