none
Criação de Font através de uma String RRS feed

  • Pergunta

  • Eu preciso transformar uma string em uma font.

    Eu até encontrei algumas formas de fazer o que eu preciso, mas, o que achei na internet não retorna todas as informações do texto como negrito, italico, sublinhado ou tracejado.

    Então al gravar no banco eu fiz o seguinte:

    sfonte = controle.Font.Name + '#' + controle.Font.Size.ToString() + '#' + controle.Font.Bold.ToString + '#' + controle.Font.Italic ...

    E no retorno do banco quando preciso atribuir estas informações ao controle:

    string[] sfonte;

    sfonte = BancoDados.FontTextBox.Split['#'];

    Mais ai que esta meu problema usando o procedimento abaixo não tem como atribuir o negrito, sublinhado e tracejado.

    Font ft = new Font(sfonte[0], sfonte[1], sfonte[2]...);

    Alguém tem alguma alternativa para que criar uma fonte com todas as suas atribuições?

     

     eu preciso atribuir a um controle do tipo Textbox a fonte gravada em um banco de dados, só que al gravar no banco (controle.Font.ToString()) ele não gravava algumas coisas do tipo, se o texto é Negrito, Italico, Sublinhado, ou com a linha no meio do texto.

     


    mefdias
    quarta-feira, 23 de fevereiro de 2011 20:17

Respostas

Todas as Respostas

  • Quando você quer fazer várias atribuições a uma propriedade você pode usar o "OR" como no exemplo abaixo:


            Dim style As New FontStyle
            style = FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline

            Dim fonte As New Font("Arial", 33, style, GraphicsUnit.Pixel)
            TextBox1.Font = fonte

    coloquei fixo ali, mas voce pode colocar o que veio do banco que voce gravou. é isso?


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro
    sábado, 26 de fevereiro de 2011 04:50
  • Muito obrigado, isso me adiantou bastante.

    Mas tem uma coisa, deste modo só posso assumir que a fonte tenha um estilo por vez e se ela possuir todos, como faço?

    Obs.: Uma coisa estou usando Visual C#. Pelos meus testes quando utilizo varios estilos em um único texto eles ficam separados por '|' (Ex.: Bold | Italic | Underline). No meu caso eu criei uma string com todas as opções de criação da fonte (Nome da Fonte, Tamanho, Estilo, ...), então qual é minha ideia, quebrei esta string em uma variável array e tento criar uma fonte utilizando assim (Font ft = Font(nome, tamanho, estilo) ai que esta o problema, no caso do estilo não achei nenhum modo de transformar o a minha string em um fontstyle.

    segunda-feira, 7 de março de 2011 19:28
  • Márcio,

    Sugiro que você dê uma olhada neste link:

    http://stackoverflow.com/questions/457671/c-how-do-i-save-runtime-font-settings


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quarta-feira, 9 de março de 2011 17:53
    Moderador