2014-11-20 2 views
0

현재 vb.net 2013 express에서 작업 중이며 백엔드에 SQL 데이터베이스가 지원됩니다. 나는 재고 관리 스타일 프로그램에 사용되는 84 개의 버튼이 있습니다. 이 버튼에는 M01, M02, ... M12, T01, T02, ..., T24, H01, H02, .... H24 및 P01, P02, ..... P24의 번호가 매겨져 있습니다. 배경색을 변경하거나 그 셀에 무엇인가 표시 할 수있는 시각적 신호를 만들기 위해이 모든 단추를 반복해야합니다. 각 버튼은 프런트 엔드 디스플레이의 셀입니다. 또한 각각의 버튼에 SQL 명령을 사용하여 팝업 창을 대화 상자로 사용하므로 모든 단일 버튼에 코드를 입력하는 대신 루프를 사용하고 싶습니다.버튼을 반복하고 명령을 실행합니다. vb.net

코드에 for 문을 넣은 다음 모든 버튼을 루프하는 코드를 원한다면 버튼의 이름을 루프 설명으로 사용합니다. 그러나 단추의 이름을 가져 와서 SQL 쿼리를 실행하여 SQL 데이터베이스에서 셀을 찾는 방법을 모르겠습니다. 예를 들어 루프에 버튼을 가져오고 버튼의 이름을 가져오고 SQL 쿼리를 실행하여 해당 셀을 가져 왔는지 여부를 반환하고 싶으면 반환하십시오. 나는 그 이름을 붙잡고 하드 코드로 가져 오는 법을 모른다.

Try 

     Using conn1 As New SqlConnection(connstring) 
      conn1.Open() 
      For Each ctr In PanelButtons 
       If TypeOf ctr Is Button Then 
        Using comm1 As New SqlCommand("SELECT Shear FROM Production.dbo.tblFabWipLog WHERE LocID = @Cell", conn1) 
         comm1.Parameters.AddWithValue("@Cell", ctr.Name) 
        End Using 

       End If 
      Next 
      Using comm1 As New SqlCommand("SELECT ") 

      End Using 
     End Using 


    Catch ex As Exception 
     MsgBox("Error loading button clear or taken, please contact manufacturing engineering.") 
     MsgBox(ex.ToString) 

    End Try 
+0

귀하의 질문은 혼란 모든 버튼을 처리하는 하나의 이벤트가 필요하지만, 내가 제대로 읽고 있어요 경우, 어쩌면 당신은'ctr.Name'을 찾고? –

+0

소리가 옳다. 예제 코드 줄을 뺄 수 있겠 니? – Cheddar

+3

UX 디자이너를 촬영하라고 알림. –

답변

1

단추에는 Tag 속성이 있습니다. 각 단추 태그 속성에 ID를 설정하십시오.

은 그럼 그냥

Public Sub Form_Load(byVal o As Object, ByVal e As EventArgs) Handles Me.Load 
    ' Load the tag information (this is a hardcoded example) 
    M01.Tag = "M01" 
    M02.Tag = "M02" 
    M03.Tag = "M03" 
    ' ... 
End Sub 

Public Sub Button_Click(byVal o As Object, ByVal e As EventArgs) Handles M01.Click, M02.Click, ... 
    ProcessButton(CType(o, Button).Tag) 
End Sub 

Public Sub ProcessButton(ByVal itemId As String) 

    ' ... Do what you need here 
    MessageBox.Show(itemId) 

End Sub 
+0

버튼 클릭시 일부 코드를 실행해야하며 일부 코드는로드 이벤트에서 수행해야합니다. 또한 첫 번째 공개 서브에서는 모든 버튼에 대해 sub를 추가해야한다고 가정합니다. – Cheddar

+0

그 첫 번째 공개 서브는 어떤 이벤트입니까? – Cheddar

+0

한 게시물에 많은 질문이 있습니다. 이 웹 사이트에서 한 번에 한 가지 질문 만하는 것이 좋습니다. 첫 번째 하위에서는 버튼 클릭 이벤트입니다. http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.buttonbase.click(v=vs.110).aspx –

관련 문제