Pregunta

Tengo un TreeView de formularios Windows Forms. El TreeView representa un resumen de las vistas más detalladas y una de las señales visuales que estoy usando es para que el texto de un nodo negrita o regular. El problema es que si se cambia la fuente de un nodo de regular a los clips en negrita el texto como si estuviera tratando de encajar el texto en negrita en el espacio para el texto normal.

Un poco de navegar alrededor de muestra que la solución habitual es configurar la fuente del TreeView a la fuente en negrita, y establece selectivamente nodos para regular.

Esto funciona mejor, pero una vez que han cambiado a un nodo normal, si luego lo cambio Atrás en negrita se pone recortar de nuevo. Desde que estoy actualizando dinámicamente mi punto de vista estoy golpeando este problema.

Sorprendentemente no pude encontrar ninguna referencia a este tema en Stackoverflow, así que pensé en hacer mi granito de arena y flotar aquí ahora. ¿Alguien sabe de una solución más completa (pero preferiblemente no demasiado demasiado complejas) o solución a este problema?

Estoy usando C # 3 corriendo en .Net 2.0, pero puedo utilizar Net 3.5 si es necesario.

[Actualización]

No hay tomadores eh? Eso es una mierda. El mejor que he llegado con mi mismo hasta ahora es añadir una carga de espacios para el final de la cadena (para darle espacio para crecer). Eso huele a muchos niveles (no menos importante, ya que afecta a las barras de desplazamiento). Yo no quiero tener que ir a un control de terceros (o escribir mi propia) porque esto es sólo para una aplicación interna para mi equipo de desarrollo. Teniendo en cuenta el cambio de la metáfora, pero es un buen ajuste.

¿Fue útil?

Solución

Me encontré con el mismo problema con VB.Net y la solución fue llamar la siguiente:

TreeView.BeginUpdate () '- Poupulate sus nodos del árbol aquí. TreeView.EndUpdate ()

Otros consejos

encontrado otra solución: establecer el texto después cambio de la fuente en lugar de cambiar la fuente después de la adición de un nodo con propiedades clave y de texto

Tengo el mismo problema (C #). Mi solución fue: al principio establecer la fuente treeView en negrita, y cuando algunos nodos no deben ser audaz, cambie la fuente a regular:

if (conditionForRegularTreeNode)
  newNode.NodeFont = new Font(treeView.Font, FontStyle.Regular);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top