Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Как записать число в Label1.Text


Автор: vladd 1.9.2015, 10:36
Привет.

Имею код 
Код

Dim n As Integer = 0

Label1.Invoke(Sub() n = Val(Label1.Text),   n = n + 1,   Label1.Text = Str(n))


Такая ошибка
Код

Conversion from string "Label1" to type 'Integer' is not valid.


 Как сделать правильно? В чём ошибка?
На 
Код

Convert.ToInt32(Label1.Text)

Также ругается.

Автор: Akina 1.9.2015, 11:04
А что в этот момент лежит в Label.Text? 
Код

MsgBox "=" & Label1.Text & "="

Может, оно тупо не может быть преобразовано в число...

Автор: vladd 1.9.2015, 11:47
Было  Label1. Удалил.
Добавил код
Код

Label1.Invoke(Sub() Label1.Text = Str(i))
                MsgBox("=" & Label1.Text & "=")
                Label1.Invoke(Sub() n = Val(Label1.Text), n = n + 1, Label1.Text = Str(n))

MsgBox показывает 0.
Ошибка
Код

Несоответствие числа параметров.

Автор: diadiavova 1.9.2015, 20:21
Цитата(vladd @  1.9.2015,  10:36 Найти цитируемый пост)
Conversion from string "Label1" to type 'Integer' is not valid.


Цитата(vladd @  1.9.2015,  10:36 Найти цитируемый пост)
 В чём ошибка?

Когда ты просто кидаешь лейбл на форму, то по умолчанию текст будет соответствовать имени лейбла, так что тут могу предположить, что текст не был изменен и функции Val был передан текст "Label1".
Цитата(vladd @  1.9.2015,  11:47 Найти цитируемый пост)
Несоответствие числа параметров.

Вероятно компилятор воспринимает этот код следующим образом
Код

Label1.Invoke((Sub() n = Val(Label1.Text)),( n = n + 1),( Label1.Text = Str(n)))

Сделай так
Код

Label1.Invoke(Sub() 
                           n = Val(Label1.Text)
                           n = n + 1
                           Label1.Text = Str(n)
                       End Sub)

Кроме того, запись операторов через запятую... это что за синтаксис? При объявлении переменных такое возможно, но то что написано у тебя... я такого не встречал, да и компилятор ругается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)