Pergunta

Eu estou tentando implementar um controle .NET que funciona como o Firefox Awesome Bar. Para esse fim, eu estou tentando negrito e sublinhado procurou personagens dentro de resultados de pesquisa exibidos em um ListView. Eu configurei OwnerDraw e eu estou usando Graphics.MeasureCharacterRanges para descobrir o quão grande são os personagens. O problema que estou tendo é que os valores passados ??para trás a partir desse método nem sempre são perfeitos. Eu acabar com alguns pixels extra aqui e ali ou dois personagens que são muito próximos uns dos outros. Existe um reparo fácil? Outra maneira de chamar a diferentes partes de uma mesma palavra com diferentes configurações de fonte?

Foi útil?

Solução

Eu descobri isso. Eu tive que passar a usar TextRenderer.DrawText e TextRenderer.MeasureText. Fiz questão de passar TextFormatFlags.NoPadding para ambos os métodos.

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