2010-08-10 3 views
0

winform과 fb.net을 사용하고 있습니다. 누군가가 버튼 클릭 이벤트를 만드는 방법에 대한 예제를 제공 할 수 있습니까? 내가 희미을 가지고 있지만 같은 but.location 등 but.text but.name windows.forms.button하지만 난 어떻게 내가 클릭 한 뒤에 코드를 만들려면 어떻게해야합니까?버튼의 클릭 이벤트를 코딩하는 방법은 무엇입니까?

답변

2

당신은 사용할 수 있습니다

AddHandler button.Click, AddressOf HandlerMethod 

를 VB에서 당신은 즉시 그것을 생성하지 않는 경우, 방법이 특정 컨트롤의 특정 이벤트를 처리하도록 지정할 수 있습니다 - 당신은 단지 AddHandler 필요로 할 때 ' 폼을 버튼 집합으로 동적으로 채우는 (말하기).

Imports System.Windows.Forms 

Public Class Test 

    <STAThread> 
    Public Shared Sub Main() 
     Dim f As New Form() 
     Dim b As New Button() 
     b.Text = "Click me!" 
     AddHandler b.Click, AddressOf ClickHandler 
     f.Controls.Add(b) 
     Application.Run(f) 
    End Sub 

    Private Shared Sub ClickHandler(sender As Object, e As EventArgs) 
     Dim b As Button = DirectCast(sender, Button) 
     b.Text = "Clicked" 
    End Sub 

End Class 

편집 :

여기 짧지 만 완전한 예제 양식을 닫으려면 가장 간단한 방법은 원래 컨트롤의 형태로 얻을 수 있습니다 다음 윈폼 디자이너에서

Private Shared Sub ClickHandler(sender As Object, e As EventArgs) 
     Dim c As Control = DirectCast(sender, Control) 
     Dim f as Form = c.FindForm() 
     f.Close() 
    End Sub 
+0

아주 좋습니다. 내가 뭘 찾고 있었는지. 하지만 아직 한 장 빠져 있어요. ClickHandler에서 버튼이 놓여있는 양식을 어떻게 닫을 수 있습니까? 예 : f – Alex

+0

@ bochur1 : 어떤면에서 "이 사이트가이 용도로 설정되지 않았습니까?" 사람들은 항상 코드를 게시합니다. 그러나 코멘트에 게시하지 마십시오. 원래 코드로 편집하십시오. –

+0

내 메시지가 작동하지 않는 것을 무시하십시오. 잘 작동합니다. 정말 고마워! – Alex

0

을, 단추를 추가 한 다음 두 번 클릭하십시오. 이렇게하면 버튼 이름을 기준으로 이벤트가 만들어지고 이벤트 코드로 이동합니다.

+1

명확성을 위해 * 이벤트 처리기를 만드는 * 이벤트 *를 만들지 않습니다. 아무도 구독하지 않더라도 버튼 자체는 이벤트를 게시합니다. –

관련 문제