Преобразовать строку в размер | Visual Basic

219
arvenyon

Использование VB. Я пытаюсь использовать текст в поле со списком в качестве значения размера моего шрифта. Значит, как пользователь, я могу выбрать размер шрифта, щелкнув его из выпадающего меню.

Выпадающее меню:

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

Теперь выбранный вариант должен влиять на размер шрифта. Но поэтому мне нужно конвертировать из строки в размер. Кто-нибудь может помочь?

Также я могу представить, что есть более эффективный способ дать пользователю возможность изменить размер шрифта. Любые советы и рекомендации приветствуются!

1
Привет, что ты хочешь изменить размер шрифта? Это все элементы управления на форме (метки, кнопки, текстовые поля и т. Д.)? Все элементы управления определенного типа (все текстовые поля)? Один элемент управления вводом (одно текстовое поле)? Fazer87 6 лет назад 0
Привет, я просто хотел, чтобы это повлияло на один конкретный текст, как в вашем ответе, как именно это должно работать! Большое спасибо! arvenyon 6 лет назад 0
Рад слышать это :) Fazer87 6 лет назад 0

1 ответ на вопрос

2
Fazer87

Нечто подобное должно работать для вас:

 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 

Это должно сделать следующее: enter image description here

Если вы хотите сделать это с помощью элементов управления ih multipler - вам нужно взглянуть на циклический просмотр элементов управления в форме, используя, OfTypeесли вы хотите работать только с определенными элементами управления