查看: 6366|回復: 0
打印 上一主題 下一主題

VB.NET下遍歷TextBox組件的方法

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2009-4-3 00:12:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: NET , TextBox , 遍歷 , 組件


    Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Dim ch As Char = e.KeyChar
        If Not Regex.IsMatch(ch.ToString(), "^[\b\r0-9a-fA-F]$") Then
            e.KeyChar = "" '放棄輸入的非法字符
            MessageBox.Show("請正確輸入16進(jìn)制數!!!", "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            e.KeyChar = Char.ToUpper(ch) '強制轉換為大寫(xiě)字母,放過(guò)退格和回車(chē)符
        End If
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim Addr As UInt16
        Dim Val As Byte
        Dim Index As Integer
        Try
            Addr = Convert.ToUInt16(ComboBox1.Text, 16) + 1 '取狀態(tài)口地址
            Val = WinIoPort(Addr) '讀出并口控制口數據
            TextBox26.Text = Val.ToString("X02") '顯示字節數據
        Catch ex As Exception '異常捕捉
            MessageBox.Show(ex.Message, "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
        For Each c As Control In GroupBox2.Controls '遍歷GroupBox2上的控件
            If TypeOf (c) Is TextBox Then '只遍歷TextBox類(lèi)型的控件
                If c.TabIndex <> TextBox26.TabIndex Then '排除TextBox26控件
                    Index = TextBox10.TabIndex - c.TabIndex '計算相對位D0~D7
                    c.Text = ((Val And (1 << Index)) >> Index).ToString("0") '填入數據位
                End If
            End If
        Next
    End Sub
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim Addr As UInt16
        Dim Val As Byte
        Dim Index As Integer
        Try
            Addr = Convert.ToUInt16(ComboBox1.Text, 16) + 2 '取控制口地址
            Val = WinIoPort(Addr) '讀出并口控制口數據
        Catch ex As Exception '異常捕捉
            MessageBox.Show(ex.Message, "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
        For Each c As Control In GroupBox3.Controls '遍歷GroupBox3上的控件
            If TypeOf (c) Is TextBox Then '只遍歷TextBox類(lèi)型的控件
                Index = TextBox18.TabIndex - c.TabIndex '計算相對位D0~D7
                c.Text = ((Val And (1 << Index)) >> Index).ToString("0") '填入數據位
            End If
        Next
    End Sub
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim Addr As UInt16
        Dim Val As Byte = 0
        Dim Index As Integer
        Try
            Addr = Convert.ToUInt16(ComboBox1.Text, 16) + 2 '取控制口地址
            For Each c As Control In GroupBox3.Controls '遍歷GroupBox3上的控件
                If TypeOf (c) Is TextBox Then '只遍歷TextBox類(lèi)型的控件
                    Index = TextBox18.TabIndex - c.TabIndex '計算相對位D0~D7
                    If c.Text = "1" Then
                        Val = Val Or (1 << Index) '組裝數據位
                    End If
                End If
            Next
            WinIoPort(Addr) = Val '寫(xiě)入并口字節數據
        Catch ex As Exception '異常捕捉
            MessageBox.Show(ex.Message, "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页