2014-01-21 33 views
0

这是我的工作代码 - 每次我点击一个标记时,它都会显示其持有的相应表单。 代码表单不会做我想要的他

For Each elem In aList 
       If item.ToolTipText = elem.MarkerName Then 

        Dim camera = markerDtable.Select("MarkerName =" & " '" & elem.MarkerName & "'")(0)("cameraID") 
        Dim host = markerDtable.Select("MarkerName =" & " '" & elem.MarkerName & "'")(0)("HostAddress")  

        With f 
         .Show() 
         .AxXHDec1.Camera = camera 
         .AxXHDec1.Host = host 
         .AxXHDec1.Play = 1 
         Dim p As New Point 
         p = item.LocalPosition + New Point(45, 68) 
         .Location = p 
         .Text = elem.MarkerName 
        End With 
        Exit Sub 
       End If 
      Next 

这就是我基于这个第二个,同样的程序虽然不是一个标志,而是一个按钮的代码。 代码B

For Each btn In bList 
     Dim fcb As New Fcamera4Building 
     Dim word() As String = btn.Name.Split("m"c) 
     With fcb 
      .Show() 
      .AxXHDec1.Camera = word(1) 
      .AxXHDec1.Host = 'get corresponding HostAddress depending on what buttonName' 
      .AxXHDec1.Play = 1 
      Dim p As New Point 
      p = btn.Location + New Point(70, 160) 
      .Location = p 
     End With 
     Exit Sub 
    Next 

,我认为我做了我应该做的,但是,该代码B显示相同的形式。当我点击CAM1按钮时,我有两个按钮(从数据库加载的开始),给我一个相机。但是当我点击CAM3显示相同的形式,并且相同的位置。

我在想什么/做错了什么?让我知道你是否需要一些东西。
UPDATE:似乎word()没有注册3.无论我点击,它的值是1

回答

0

如果您的相机名称是“CAM1”,“CAM2”,它可能是值得改变:

Dim word() As String = btn.Name.Split("m"c) 

到:

Dim word() As String = btn.Name.ToLower.Split("m"c) 
0
Private Sub nBtn_Click(ByVal sender As Button, ByVal e As System.EventArgs) 
    For Each btn In b2List 
     If sender.Text = btn Then ' This will check the same name so it will distinguish which form will be shown. 
      ' do code