Como faço para formatar a dica de ferramenta usada por um DataGridView no modo virtual?

StackOverflow https://stackoverflow.com/questions/487499

  •  20-08-2019
  •  | 
  •  

Pergunta

Eu preciso aplicar formatação - especificamente, o texto em negrito - para a dica de ferramenta usada por um DataGridView em modo virtual. Eu posso definir o texto em caso CellToolTipTextNeeded, mas ele não suporta tags HTML; há alguma outra sintaxe eu deveria estar usando? Eu não quero ter reimplementar dica me sustentar.

Foi útil?

Solução

Você pode usar o HtmlToolTip de http://www.codeproject.com/KB/GDI-plus/HtmlRenderer. aspx

To use it with DataGridView create a ToolTip (HtmlToolTip) and add this after the InitalizeComponent() in your form to replace the default tooltip:

System.Reflection.FieldInfo toolTipControlFieldInfo=
typeof(DataGridView).GetField("toolTipControl", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);

System.Reflection.FieldInfo toolTipFieldInfo=
toolTipControlFieldInfo.FieldType.GetField("toolTip", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);

object toolTipControlInstance =
toolTipControlFieldInfo.GetValue(myDataGridView);

toolTipFieldInfo.SetValue(toolTipControlInstance, myToolTip);

Trabalho para mim com NET 3.5

Outras dicas

Como o nome do evento indica, ele simplesmente quer que o texto para exibição, que não vai ter formatação.

Se você quiser qualquer coisa como negrito, ou outros tipos de formatação, você vai ter que lidar com a tela e desenho da ponta da ferramenta si mesmo. Você pode usar o controle dica de ferramenta para ajudar, definindo a propriedade OwnerDraw como true e manipular o evento Draw, mas nota, você provavelmente terá que substituir a grade de uma forma significativa para entrar nesse evento no momento apropriado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top