2016-11-08 17 views
0

我有公共類,其中聲明瞭事件。我想要支持的形式提出主類事件

並有程序顯示模態形式。

窗體上有按鈕,在這些按鈕上單擊我想要引發主事件。如何實現這一目標?

例如:

Public class MyClass 

Public Event MyEvent(arg as date) 

Public Sub ShowForm() 

using frm as new frmMyForm 
frm.showDialog() 
End Using 

.... 
End Class 

上形成按鈕單擊事件

RaiseEvent MyClass.MyEvent(Today) 

我已經通過了類物業的egzemplar,但沒有任何幫助。

+1

你就是那種裏面出來。你有一個能夠顯示錶格的類,但是你希望表單能夠代表該類提出一個事件?首先,表單需要對類的引用,然後爲表單添加一個方法來告訴類發生了什麼。該類可以接着RaiseEvent – Plutonix

+0

@Plutonix表單與類中的項目相同,因此我不需要參考。我不知道如何從形式中引用類。我從來沒有做過。我將類egzemplar作爲屬性並使用它的方法。 – GGSoft

+0

我們只能通過給定的代碼去尋找 - 「egzemplar」沒有任何內容。在顯示的代碼中,表單對象 - 「frmMyForm」 - 不知道創建並顯示它的類 – Plutonix

回答

0

我已經解決了問題。我真的用日期參數在主類中創建了方法。在按鈕單擊我打電話上面的方法傳遞egzemplar與所需的參數。然後在課堂上舉辦活動。它現在工作正常。

在我的情況代碼更難,因此我只提供一個簡單的例子。

Public class MyClass 

Public Event MyEvent(arg as date) 

Public sub FromOtherPlanet(dt as Date) 
RaiseEvent MyEvent(dt) 
End sub 


Public Sub ShowForm() 
    using frm as new frmMyForm 
    frm.Egz = Me 
    frm.showDialog() 
    End Using 
End Sub 
.... 
End Class 
形式

Public class MyForm 

    dim Temp_Egz as MyClass 

    public property Egz as Myclass 
    Get 
    ....... 
    Set 
    .... 
    End Property 


    private sub button1_click..... 
    egz.FromOtherPlanet(today) 
    end sub 

    end class 
+0

在MyForm類中通過構造函數傳遞類:'Public Sub New(egz As Myclass)'可能更好。 – LarsTech