Converter String para Tamanho | Visual básico

1

Usando o vb. Estou tentando usar o texto de uma caixa de combinação como o valor do tamanho da minha fonte. Significa que, como usuário, posso escolher qual tamanho de fonte gostaria de ter clicando no menu suspenso.

Menu suspenso:

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox1.Items.Add("6") ComboBox1.Items.Add("10") ComboBox1.Items.Add("12") End Sub

Agora, a opção escolhida deve afetar o tamanho da fonte. Mas, portanto, preciso converter de string para tamanho. Alguém ajuda?

Também posso imaginar que existe uma maneira mais eficiente de dar ao usuário a oportunidade de alterar o tamanho da fonte. Todas as dicas e conselhos são bem-vindos!

    
por arvenyon 14.12.2017 / 16:06

1 resposta

2

Algo como isso deve funcionar para você:

    Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Your combo box should be built and populated when the form loads, not when the combo box is changed
        ComboBox1.Items.Add("6")
        ComboBox1.Items.Add("10")
        ComboBox1.Items.Add("12")

        ComboBox1.SelectedIndex = 0 'This Auto-Selects the first entry to prevent you having to handle "null"'s
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        Dim tryParseResult As Boolean 'holds the True/False for whether conversion to a number worked
        Dim parsedNumber As Integer 'Holds the number after conversion

        tryParseResult = Int32.TryParse(ComboBox1.SelectedItem, parsedNumber) 'try converting to number - "parsedNumber" will contain the number on success - "tryParseResult" will contain a true/false for success

        'If tryPArseResult = False - conversion failed - tell the user and stop.
        If tryParseResult = False Then
            MessageBox.Show("Conversion of " & ComboBox1.SelectedItem & " To Number Failed") 'Tell the user it failed
            Exit Sub 'Stop processing
        End If

        'Set TextBox1's Font to the same font with a new size
        TextBox1.Font = New Font(TextBox1.Font.Name, parsedNumber)

    End Sub
End Class

Isso deve fazer o seguinte:

Se você quiser fazer isso com controles multipler - você precisa olhar para o loop através de controles em um formulário usando OfType se você quer apenas trabalhar em certos controles

    
por 14.12.2017 / 16:24