こんにちは
すいません。
Private Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles Timer1.Tick
↓
Private Sub Timer1_Tick(sender As Integer , e As System.EventArgs) Handles Timer1.Tick
にした場合
Timer1_Tick(300,new EventArgs)
で引数に300の整数を渡せますが、 Timer1_のオブジェクトがなくなってしまいますので、Handles Timer1.Tickが機能しなくなってしまいます。
なんか、いい方法はないかな~?
引数の使用方法がわかりませんので、適当に
Private Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles Timer1.Tick
プロシージャに値を渡すサンプルを作成しました。(あまり意味がありませんが)
値を一度 Class timに渡して、再度Timer1_Tickイベントプロシージャに渡してラベルに表示しています。
Public Class Form1
Dim dotime As New tim 'Class timのインスタンス
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Shown
Timer1.Enabled = True
Timer1.Interval = 3000
Label1.Text = "test"
Dim i1 As Integer = 200
dotime.num(i1) 'Class timに値を渡す
End Sub
Private Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles Timer1.Tick
Label1.Text = CStr(dotime.timer) 'timerの値を取得してラベルに表示
End Sub
End Class
Public Class tim
Private _it As Integer
'Class Form1から値を取得
Public Sub num(i As Integer)
_it = i
End Sub
'timerに値を読み取る
Public ReadOnly Property timer() As Integer
Get
Return _it
End Get
End Property
End Class
お礼
何度も丁寧な御回答ありがとうございます。クラスのフィールドPrivate _volumeChangeValue As Integer ' 音量の変更幅を使った方がすっきりするようですね。それと、If e.Button <> MouseButton.Left Then Return ' 左ボタン以外は処理しない の処理は自分では気づきませんでした。御指摘ありがとうございました。早速使ってみたいと思います。