2012-04-20 164 views
1

Im新的vb.net和想知道這個問題。當您單擊Web窗體上的按鈕控件時,Visual Studio會自動將此代碼放入代碼中。按鈕控制事件處理程序

 Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnFlightInfo.Click 
    end Sub 

說例如,我想從另一種方法調用此方法。我會怎麼做?我知道發件人是實際的按鈕對象,但是什麼是e?這是我到目前爲止在另一個小組中的內容。試圖更好地理解這種方法的工作原理。

btnSave_Click(btnSave, ??what would you put there??) 

回答

1

只要通過EventArgs.Empty,沒有什麼重要的是在那裏按鈕點擊。但是,您可能會考慮將其顛倒過來:有另一個包含公共邏輯的Sub,並從Click事件處理程序和其他方法中調用它。

2

不是一個好主意來調用事件,將您的代碼從事件移動到另一個私有方法,並在兩個地方調用它。

Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnFlightInfo.Click 
    ' Call your private method 
End Sub 

Protected Sub AnotherMethod 
    ' Call your private method again here 
End Sub 
0

將使用委託 發送者是按鈕和e是事件燒製 發送者是偵聽器和事件是捕手

0
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles  btnSave.Click,btnsecond.Click 

暗淡BTN作爲按鈕= CTYPE(發件人,按鈕) 如果enter code here btn.text =「保存」 否則,如果btn.text =「第二」 結束時,如果 '打電話給你的私有方法 結束小組

「看到基於發件人,你可以找到你所使用的按鈕點擊 ‘如果你必須從你JAUS調用 另一種方法’btnsave_click(沒有,沒有)

」至於什麼是事件參數被調用 'EventArgs表示與該事件相關的數據,並且可以用於傳遞參數,'處理代碼的事件處理程序來決定要做什麼的狀態信息。在這種情況下,它只是表示空事件參數的EventArgs,但對於'例如,如果您有ImageButton的Click處理程序,您會注意到它是事件參數'可讓您訪問X和Y座標。換句話說,事件參數可以由具有事件相關數據的更具體的類表示,這取決於控制