2014-11-28 2 views
0

데이터 테이블을 만들고 루프를 반복하는 것보다 30-40 직사각형 좌표를 임시로 저장하는 더 빠르고 더 빠른 방법이 있습니까?VBNET에서 최대한 빨리 수제 버튼 좌표를 반복합니다

Dim optionbuttons As New DataTable 
Private Sub addcolumns() 
    optionbuttons.Columns.Add("name", GetType(String)) 
    optionbuttons.Columns.Add("x1", GetType(Integer)) 
    optionbuttons.Columns.Add("y1", GetType(Integer)) 
    optionbuttons.Columns.Add("x2", GetType(Integer)) 
    optionbuttons.Columns.Add("y2", GetType(Integer)) 
    optionbuttons.Columns.Add("noCode", GetType(Integer)) 
    optionbuttons.Columns.Add("level", GetType(Integer)) 
End Sub 

이 데이터를 임시로 저장하는 더 좋은 방법에 대한 제안을 환영합니다. 옵션은 SQL Server에서 linq-sql을 통해 가져옵니다. 자바 스크립트에서

나는 이러한를 저장하는 연관 배열을 사용하는 데 사용하지만 난 그 vb.net에서 가능하다면 모르겠지만 내 사각형 표현하는 클래스를 작성하여 시작할 것

+0

사전을 사용할 수 있습니다. http://msdn.microsoft.com/de-de/library/xfhwa508%28v=vs.110%29.aspx – ruedi

답변

1

:

Public Class MyButton 
    Public Sub New(ButtonName As String, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, ButtonNoCode As Integer, ButtonLevel As Integer) 
     Me.Name = ButtonName 
     Me.UpperLeft = New Point(x1, y1) 
     Me.BottomRight = New Point(x2, y2) 
     Me.NoCode = ButtonNoCode 
     Me.Level = ButtonLevel 
    End Sub 

    Public Property Name As String 
    Public Property UpperLeft As Point 
    Public Property BottomRight As Point 
    Public Property NoCode As Integer 
    Public Property Level As Integer 
End Class 

는 다음 나는 데이터 테이블에서 목록을 채울 것입니다 : 이것은 당신에게 명명 된 속성을 가진 클래스를 가지고있는 미묘한을 모두 제공

Public Function PopulateListFromDataTable(dt As DataTable) As List(Of MyButton) 
    Dim ReturnValue As New List(Of MyButton) 
    For Each r As DataRow In dt.Rows 
     ReturnValue.Add(New MyButton(r("name"), r("x1"), r("y1"), r("x2"), r("y2"), r("noCode"), r("level"))) 
    Next 
    Return ReturnValue 
End Function 

, 그들은 목록에있는 모든 것 whic

For Each b As MyButton In MyListOfButtons 
+0

감사합니다 DWRoelands는 매끄러운 솔루션처럼 보입니다. 함수에 약간의 문제가 있습니다. 데이터 테이블에 피드를 제공하고 싶지 않습니다. 클래스에 피드를 제공하기 전에 좌표를 조정해야하므로 레코드 당 개별 변수를 피드로 지정해야합니다. 그 말이 맞는다면. 나는 그것을 개조하려하고 있지만 내가 관리 할 지 모르겠다. 어쨌든, 나는 연락 할 것이고, 다시 감사 할 것이다! – WouldBeNerd

0
Public Function PopulateList(name As String, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, nocode As Integer, level As Integer) As MyButton 

    Return (New MyButton(name, x1, y2, x2, y2, nocode, level)) 

    End Function 

이 올바른 : 시간은 쉽게로 반복 될 수 있습니까?

+0

잘 작동 할 것입니다. 그렇습니다! – DWRoelands

관련 문제