非常簡單的情況。
窗體類觸發一個MsgBox奇怪WithEvents東西
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MessageBox.Show("TEST")
End Sub
End Class
然後創建一個新的類的Class1和移動子的button1_Click於該類
Public Class Form1
End Class
Public Class Class1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Form1.Button1.Click
MessageBox.Show("TEST")
End Sub
End Class
我也得到一個失敗一個按鈕內
故障BC30506句柄子句需要一個WithEvents變量,該變量在包含類型或其基類型中定義。
然後我修改這樣的:
Public Class Class1
Public WithEvents Form1.Button As EventThrower()
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Form1.Button1.Click
MessageBox.Show("TEST")
End Sub
End Class
現在我得到2個故障
錯誤BC30412 'WITHEVENTS' 變量必須有一個爲條款。
錯誤BC31412類中的'Handles'必須指定一個WithEvents變量, 'MyBase','MyClass'或'Me'用單個標識符限定。
有人可以用簡單的方式解釋我嗎?
更新1:
從Visual文森特未來解決方案消除了錯誤,但通過點擊Form1中Button1的MessageBox中被解僱沒有,所以實際上它不工作。
Public Class Class1
Public WithEvents Button1 As Button = Form1.Button1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MessageBox.Show("TEST")
End Sub
End Class
如何從Class1中觸發Form1上的Button1?
什麼是'EventThrower'? –
EventThrower是引發事件的對象。 –
您將無法單擊某個類中的按鈕,並且在另一個類中引發事件(甚至可能不會實例化)。 – Plutonix