2017-03-17 12 views
-2

TextBoxでカウントしたい。 は、ここに私のコードです:テキストボックスを使用してVB.Netに数値カウンタを格納する

Public Class Form1 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
     OrainsProgressBar1.Increment(1) 
     If OrainsProgressBar1.Value = 100 Then 
      Timer3.Start() 
      Timer1.Stop() 
     End If 
    End Sub 

    Private Sub OrainsTheme1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OrainsTheme1.Click 
    End Sub 

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Timer1.Start() 
     Timer2.Start() 
    End Sub 

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick 
     OrainsProgressBar1.Increment(-1) 
     If OrainsProgressBar1.Value = 0 Then 
      Timer1.Start() 
      Timer3.Stop() 
     End If 
    End Sub 

    Private Sub OrainsButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OrainsButton1.Click 
     OrainsTextBox1.Text += 100 
    End Sub 

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick 
     OrainsTextBox1.Text += 1 
    End Sub 
End Class 

しかし、私はOrainsTextBox1.Text += 1でエラーが発生しています。 VBは言う:

'文字列 "から" Double "を入力すると無効になります。

何が問題ですか?

+0

あなたの質問を明確にする...... !!! –

+0

'Option Strict On'というステートメントをコードの最初の行に置きます。 Ifは、これらのエラーを引き起こす可能性があるコードにフラグを立てます(この場合は、Stringを数値として扱います)。フラグが立てられているコードを修正してください。これらの問題はもう一度起きないようにしてください。 – Blackwood

答えて

0

代わりのこのOrainsTextBox1.Text + = 1

のようにやってこのOrainsTextBox1.Text =ヴァル(OrainsTextBox1.Text)好き+ 1

の.textは文字列ですので。これは、1を「11111111」として追加します。

+0

ありがとうございます:) –

1

.Netの世界では、物事のデータ型は大変重要です。文字列(.Textプロパティのような)はで、の数字です。変換する必要があります。たとえ誰かが0〜9の数字だけをテキストボックスに入力したとしても、数値ではなく文字列文字の数値ではなく、まだ数字です。そして誰かがそのテキストボックスにランダムなテキストを入力して数字のタイプに変換しないとどうなるでしょうか?このコードの場合

、私はこのように、プロパティを構築するお勧め:

Private _orainsValue As Double 
Public Property OrainsValue As Double 
    Get 
     Return _orainsValues 
    End Get 
    Set 
     _orainsValue = Value 
     OrainsTextBox1.Text = _orainsValue.ToString() 
    End Set 
End Property 

あなたは、このようなコードを書いてみましょうし、ユーザに示す期待どおりの結果になりますそれ:

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick 
    OrainsVale += 1 
End Sub 

注意をただし、ユーザーデータ入力を考慮していないため、TextBoxを無効にしておくことを意味します。

関連する問題