VB6에서 프로그램을 작성하고 VB 2013에서 동일한 프로그램을 작성하려고합니다.이 프로그램에서 사용자가 클릭 할 때 동일한 작업을 수행하는 49 개의 단추 배열을 사용합니다. 내가 알아 낸 점에 클릭 기능을 할 필요가있다 :기존 단추의 배열 만들기 VB20
Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button9.Click, Button10.Click, Button11.Click, Button12.Click, Button13.Click, Button16.Click, Button17.Click, Button18.Click, Button19.Click, Button20.Click
...
End Sub
는 내가 뭘하려고 그냥 인덱스에 전달할 수 있도록 아래로 배열을 사용하여 코드를 단순화합니다. 다른 한 사람은 2010 년 같은 질문을하고, 가장 좋은 대답했다 :
Button[] array = { firstButton, secondButton };
일하는 것이 그하지만 난 적은 입력 뭔가를 원한다. 나는 또한 실패로 다음과 같은 시도 :
한
Button[] buttons = this.Controls.OfType<Button>().ToArray();
두
For i = 1 To 100
Dim btns() As Button = Controls.Find("Button" & i, True)
Dim btn As Button
If btns IsNot Nothing Then
btn = btns(0)
'If buttons Is Nothing Then
' ReDim buttons(0)
'Else
' ReDim Preserve buttons(buttons.Length)
'End If
'buttons(UBound(buttons)) = btn
btn.Text = i - 1 'here you can change whatever you want
End If
Next
세
Dim buttons() As Button
buttons = Nothing
For Each b As Button In Me.Controls
If buttons Is Nothing Then
ReDim buttons(0)
Else
ReDim Preserve buttons(buttons.Length)
End If
buttons(UBound(buttons)) = b
Next
난 그냥이에 기존의 버튼을 적용받을 수 없습니다
정렬. 누군가가 도울 수 있기를 바랍니다.
당신은'(버튼)를'목록을 사용해야합니다. – SLaks
배열이나 List 모두 도움이되지 않습니다. VB.NET은 VB6과 다릅니다. 만약 당신이 원하는 것은'49 버튼이 모두 똑같은 것을한다. '라는 공통 이벤트 핸들러를 사용하는 것이다. – Plutonix
공통 이벤트 처리기는 처음부터 내가 시작한 것입니다. 옳은? –