Foxtable(狐表)用户栏目专家坐堂 → [求助]遍历控件 返回控件名称的顺序问题


  共有2866人关注过本帖树形打印复制链接

主题:[求助]遍历控件 返回控件名称的顺序问题

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]遍历控件 返回控件名称的顺序问题  发帖心情 Post By:2015/11/30 13:35:00 [只看该作者]

老师,
   遍历控件 返回控件名称的顺序是什么顺序?

问题是这样的 遍历过程中 如出现为空的控件 背景颜色为红色;

假设全部为空,执行代码发现,提示红色控件的顺序混乱;

问下是什么顺序,怎么样能排好顺序?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/30 14:40:00 [只看该作者]

用一个数值定义好各个要检测的控件的名字。

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/30 14:44:00 [只看该作者]

是不是这个意思

01_BTN....
02_BTN....

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/30 14:58:00 [只看该作者]

以下是引用blsu33在2015/11/30 14:44:00的发言:
是不是这个意思

01_BTN....
02_BTN....

 

不是这个意思。是叫你定义数组。

 

Dim 控件名() As String = {"TextBox1", "TextBox2", "TextBox3"}

 

然后循环这个数组。


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/30 18:11:00 [只看该作者]

老师,
    BeforeClose
下列代码有时候不好使,有时候好使,窗口直接关闭了,为什么呢?

If Tables("备份计划").Current.DataRow.RowState = DataRowState.Unchanged Then'非空变动的行
    Dim Result As DialogResult=MessageBox.Show("是否保存并退出?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        For Each bt As WinForm.Control In e.Form.Controls
            Dim Index As Integer=bt.Name.LastIndexOf("_")
            If bt.Name.Contains("_UN_") AndAlso e.Form.Controls(bt.Name).text="" Then
                bt.BackColor=Color.Red
                MessageBox.Show("存在空数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                Exit For
            
            End If
        Next
        e.Cancel=True
    Else
        Tables("备份计划").Current.Delete
        Tables("A备份计划").save
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/30 18:28:00 [只看该作者]

If Tables("备份计划").Current.DataRow.RowState = DataRowState.Unchanged Then'非空变动的行
    Dim Result As DialogResult=MessageBox.Show("是否保存并退出?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        For Each bt As WinForm.Control In e.Form.Controls
            Dim Index As Integer=bt.Name.LastIndexOf("_")
            If bt.Name.Contains("_UN_") AndAlso e.Form.Controls(bt.Name).text="" Then
                bt.BackColor=Color.Red
                MessageBox.Show("存在空数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                e.Cancel=True
                Exit for
            End If
        Next
       
    Else
        Tables("备份计划").Current.Delete
        Tables("A备份计划").save
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/30 21:13:00 [只看该作者]

老师 ,
  我原来也是这么写的,发到网上,删除了一部分,还是不对,您再给看看,这么简单的代码,我都搞不定了,我也是醉了。
[upload=rar,管理项目1.rar]viewFile.asp?ID=73518[/uploa]

[此贴子已经被作者于2015/11/30 21:29:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/30 21:24:00 [只看该作者]

If Tables("表A").Current.DataRow.RowState <> DataRowState.Unchanged Then'非空变动的行
    Dim Result As DialogResult=MessageBox.Show("是否保存并退出?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        For Each bt As object In e.Form.Controls
            If bt.Name.Contains("_un_") AndAlso bt.text="" Then
                bt.BackColor=Color.Red
                MessageBox.Show("存在空数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                e.Cancel=True
                bt.Select
                Exit For
            Else
                bt.BackColor=Color.White
            End If
        Next
       
    Else
        Tables("表A").Current.Delete
        Tables("表A").save
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/11/30 21:30:00 [只看该作者]

For Each bt As object In e.Form.Controls

老师 这是什么意思 重来没这么用过 跪求老师指点迷津!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/30 21:35:00 [只看该作者]

object是最大的类型,不确定是什么类型的时候,就直接写object


 回到顶部
总数 18 1 2 下一页