如何在多个相似的文本框中使用循环?

埃文

因此,我知道这很草率,但是对于一个简单的三角剖分程序(2d)来说我正在进行很多工作,而且我还很新。

用户在文本框中输入值-“ aft1.text,ain1.text,aft2.text,ain2.text,bft1.text,bin1.text,bft2.text,bin1.text”。对于需要三角剖分的点,这种情况会继续下去。我希望能够通过这些类似的文本框运行一个循环,并在它们上运行一个函数。

因此,对于以abft + i和ain +开头的每个文本框,我都运行inch函数创建a1。

进行相同的操作以创建b1。

然后根据创建的xcoord / ycoord函数进行另一个循环以在图表上绘制a + i和b + i。

    Dim a1 As Double = inches(aft1.Text, ain1.Text)
    Dim b1 As Double = inches(bft1.Text, bin1.Text)

    If a1 <> 0 And b1 <> 0 Then
        Dim targetpoint As Int32
        targetpoint = Chart1.Series("Drawing").Points.AddXY((xcoord(a1, b1)), ((ycoord(a1, b1))))
        Chart1.Series("Drawing").Points.Item(targetpoint).Label = "1"
    End If

    Dim a2 As Double = inches(aft2.Text, ain2.Text)
    Dim b2 As Double = inches(bft2.Text, bin2.Text)

    If a2 <> 0 And b2 <> 0 Then
        Dim targetpoint As Int32
        targetpoint = Chart1.Series("Drawing").Points.AddXY((xcoord(a2, b2)), ((ycoord(a2, b2))))
        Chart1.Series("Drawing").Points.Item(targetpoint).Label = "2"
    End If


    Dim a3 As Double = inches(aft3.Text, ain3.Text)
    Dim b3 As Double = inches(bft3.Text, bin3.Text)

    If a3 <> 0 And b3 <> 0 Then
        Dim targetpoint As Int32
        targetpoint = Chart1.Series("Drawing").Points.AddXY((xcoord(a3, b3)), ((ycoord(a3, b3))))
        Chart1.Series("Drawing").Points.Item(targetpoint).Label = "3"
    End If
罗恩·托南贝

如果我理解正确,则可以通过创建Sub并用英寸计算和Label文本调用它来轻松推广此代码:oord是可到达的(在范围内)函数:

Triangulate(inches(aft1.Text, ain1.Text), inches(bft1.Text, bin1.Text), 1)
Triangulate(inches(aft2.Text, ain2.Text), inches(bft2.Text, bin2.Text), 2)
Triangulate(inches(aft3.Text, ain3.Text), inches(bft3.Text, bin3.Text), 3)

编辑2

尽管我已经测试了以下内容,但是由于我没有您的图表属性,也没有英寸,xcoord和ycoord函数,因此无法完全测试它,因此请尝试一下并让我知道它的运行方式。

Sub TriangulateAll()
    Try

        Dim aft As New SortedList(Of String, TextBox)
        Dim ain As New SortedList(Of String, TextBox)
        Dim bft As New SortedList(Of String, TextBox)
        Dim bin As New SortedList(Of String, TextBox)

        For Each ctl As Control In Controls
            If TypeOf (ctl) Is TextBox Then
                Select Case ctl.Name.Substring(0, 3)
                    Case "aft"
                        aft.Add(ctl.Name, ctl)
                    Case "ain"
                        ain.Add(ctl.Name, ctl)
                    Case "bft"
                        bft.Add(ctl.Name, ctl)
                    Case "bin"
                        bin.Add(ctl.Name, ctl)
                End Select
            End If
        Next
        Dim a As New List(Of Double)
        Dim b As New List(Of Double)

        For Each kvp_aft As KeyValuePair(Of String, TextBox) In aft
            For Each kvp_ain As KeyValuePair(Of String, TextBox) In ain
                a.Add(inches(kvp_aft.Value.Text, kvp_ain.Value.Text))
            Next
        Next
        For Each kvp_bft As KeyValuePair(Of String, TextBox) In bft
            For Each kvp_bin As KeyValuePair(Of String, TextBox) In bin
                b.Add(inches(kvp_bft.Value.Text, kvp_bin.Value.Text))
            Next
        Next
        For i As Int16 = 0 To aft.Count - 1
            Triangulate(a(i), b(i), i.ToString())
        Next
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

编辑用以下代码替换对Triangulate的3个调用,以完全概括Triangulation例程。请注意,此例程期望每个TextBox控件的数量均相等:aft,ain,bft,bin。我没有测试过,但是应该可以。

    Dim aft As List(Of TextBox) = Nothing
    Dim ain As List(Of TextBox) = Nothing
    Dim bft As List(Of TextBox) = Nothing
    Dim bin As List(Of TextBox) = Nothing

    For Each ctl As Control In Controls
        If TypeOf (ctl) Is TextBox Then
            Select Case ctl.Name.Substring(0, 2)
                Case "aft"
                    aft.Add(ctl)
                Case "ain"
                    ain.Add(ctl)
                Case "bft"
                    bft.Add(ctl)
                Case "bin"
                    bin.Add(ctl)
            End Select
        End If
    Next
    aft.Sort()
    ain.Sort()
    bft.Sort()
    bin.Sort()

    For i As Int16 = 0 To aft.Count - 1
        Dim a As Double = inches(aft.Item(i).Text, ain.Item(i).Text)
        Dim b As Double = inches(bft.Item(i).Text, bin.Item(i).Text)
        Triangulate(a, b, i.ToString())
    Next

   Sub Triangulate(a As Double, b As Double, LabelValue As String)
       If a <> 0 And b <> 0 Then
           Dim targetpoint As Int32
           targetpoint = Chart1.Series("Drawing").Points.AddXY((xcoord(a, b)), ((ycoord(a, b))))
           Chart1.Series("Drawing").Points.Item(targetpoint).Label = LabelValue
       End If
   End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在条件中使用多个文本框值

来自分类Dev

javascript - 如何在 for 循环中使用文本框输入

来自分类Dev

如何使用for循环在javascript中创建多个文本框?

来自分类Dev

如何创建与SO的搜索框相似的文本框提示

来自分类Dev

如何在面板中的文本框中使用foreach

来自分类Dev

如何在文本框中使用onKeypress事件

来自分类Dev

我如何检查我的文本框是否具有相似的价值

来自分类Dev

如何在 JSP 中使用具有不同名称的 for 循环创建 5 个文本框?

来自分类Dev

如何在 PHP/Javascript 中使用多个文本框创建一个填充 TEXTAREA 的函数

来自分类Dev

如何在while循环中从动态生成的文本框中发布多个条目

来自分类Dev

如何在一个命令中使用非相似的更新条件更新MongoDB中的多个文档?

来自分类Dev

如何循环多个文本框以设置透明度

来自分类Dev

在文本框名称中使用变量可停止循环

来自分类Dev

VBA使用for循环隐藏多个文本框

来自分类Dev

如何在Excel中使用VBA将文本插入(工作表)文本框?

来自分类Dev

如何在ListView中的文本框文本中使用插入参数

来自分类Dev

如何在 Sub 语句中使用文本框中的文本

来自分类Dev

如何在JavaScript中循环浏览文本框

来自分类Dev

如何在文本框中使用javascript删除或禁止使用特定字符或符号

来自分类Dev

如何在使用dataGrid的selectedItem的文本框中使用数据触发器?

来自分类Dev

获取多个循环文本框的值

来自分类Dev

如何在jquery中获取多个文本框ID

来自分类Dev

如何在自动完成文本框jQuery中使用数组?

来自分类Dev

如何在JavaScript中使用ID获取文本框的值

来自分类Dev

如何在后面的代码中使用占位符获取文本框值?

来自分类Dev

如何在Django中使用ModelForm插入富文本框数据?

来自分类Dev

如何在文本框中使用句柄更改事件来更新反应数组状态?

来自分类Dev

如何在变量中使用用户从文本框中输入的值(Powershell)

来自分类Dev

如何在PowerShell中使用输入文本框实现Windows 10 Toast通知

Related 相关文章

  1. 1

    如何在条件中使用多个文本框值

  2. 2

    javascript - 如何在 for 循环中使用文本框输入

  3. 3

    如何使用for循环在javascript中创建多个文本框?

  4. 4

    如何创建与SO的搜索框相似的文本框提示

  5. 5

    如何在面板中的文本框中使用foreach

  6. 6

    如何在文本框中使用onKeypress事件

  7. 7

    我如何检查我的文本框是否具有相似的价值

  8. 8

    如何在 JSP 中使用具有不同名称的 for 循环创建 5 个文本框?

  9. 9

    如何在 PHP/Javascript 中使用多个文本框创建一个填充 TEXTAREA 的函数

  10. 10

    如何在while循环中从动态生成的文本框中发布多个条目

  11. 11

    如何在一个命令中使用非相似的更新条件更新MongoDB中的多个文档?

  12. 12

    如何循环多个文本框以设置透明度

  13. 13

    在文本框名称中使用变量可停止循环

  14. 14

    VBA使用for循环隐藏多个文本框

  15. 15

    如何在Excel中使用VBA将文本插入(工作表)文本框?

  16. 16

    如何在ListView中的文本框文本中使用插入参数

  17. 17

    如何在 Sub 语句中使用文本框中的文本

  18. 18

    如何在JavaScript中循环浏览文本框

  19. 19

    如何在文本框中使用javascript删除或禁止使用特定字符或符号

  20. 20

    如何在使用dataGrid的selectedItem的文本框中使用数据触发器?

  21. 21

    获取多个循环文本框的值

  22. 22

    如何在jquery中获取多个文本框ID

  23. 23

    如何在自动完成文本框jQuery中使用数组?

  24. 24

    如何在JavaScript中使用ID获取文本框的值

  25. 25

    如何在后面的代码中使用占位符获取文本框值?

  26. 26

    如何在Django中使用ModelForm插入富文本框数据?

  27. 27

    如何在文本框中使用句柄更改事件来更新反应数组状态?

  28. 28

    如何在变量中使用用户从文本框中输入的值(Powershell)

  29. 29

    如何在PowerShell中使用输入文本框实现Windows 10 Toast通知

热门标签

归档