【clswindow框架应用】对于一个窗体中存在多个相同类名的输入框该如何区分填写?

简介: 【clswindow框架应用】对于一个窗体中存在多个相同类名的输入框该如何区分填写?

clswindow是vb6中的一个类,主要用来访问Windows窗口及内部控件,可以改写和获取,用的最多的是填写某个窗口中的输入框,例如用来做登录器,填写表单。关于该类更多介绍可以参考:一个操作windows窗口的类“clsWindow”,使用非常方便!含源码 V2.2_无·法的博客-CSDN博客_clswindow

我们经常会遇到一个窗口中有多个输入框,且输入框的类名一样,那么该如何区分填写呢?

要解决这个问题需要先明白一个原则,多个输入框用遍历控件的方法访问,不管访问多少次,它的先后顺序是一致的,除非做软件的故意将每次显示时控件顺序打乱,例如动态生成的控件随意摆放位置,一般这个情况下极少,目前还没遇到过。这样就可以根据次序来进行填写。

那么我们的思路是这样的:1.测试输入框的次序, 2.根据次序填写到目标输入框

测试次序的代码:

Dim i%
Dim w As New clsWindow
w.GetWindowByTitleEx "微标电脑收发存统计系统", 1
i = 0
Do
    i = i + 1
    If Not w.SetElementTextByClassName("ThunderRT6TextBox", "次序" & i, i) Then Exit Do
Loop
MsgBox "次序填写完毕!"

这样子的话我们就可以区分输入框了,例如窗口里有5个输入框,你要填写的输入框通过上面的测试是“次序4”,想把它填写为xxxxxx,那么你就可以编写代码:

w.SetElementTextByClassName "ThunderRT6TextBox", "xxxxxx", 4

同样的如果要读取第“次序4”的输入框的内容,用下面代码:

MsgBox w.GetElementTextByClassName("ThunderRT6TextBox", 4)

关于clswindow类的介绍,请参考:一个操作windows窗口的类“clsWindow”,使用非常方便!含源码 V2.2_无·法的博客-CSDN博客_clswindow

目录
相关文章
|
关系型数据库 MySQL C#
C# winform 一个窗体需要调用自定义用户控件的控件名称
给用户控件ucQRCode增加属性: //二维码图片 private PictureBox _pictureBoxFSHLQrCode; public PictureBox PictureBoxFSHLQrCode {   get { return _pictureBoxFSHLQrCode; }   set { this.pictureBoxFSHLQrCode = value; } } 在Form1窗体直接调用即可: ucQRCode uQRCode=new ucQRCode(); ucQRCode.PictureBoxFSHLQrCode.属性= 要复制或传给用户控件上的控件的值
90 0
|
10月前
表单输入绑定 修饰符
表单输入绑定 修饰符
|
小程序 算法 前端开发
小程序之移花宫-自定义底部标签图标---【浅入深出系列005】
小程序之移花宫-自定义底部标签图标---【浅入深出系列005】
[自定义服务器控件] 第二步:下拉列表框。
前面发了一个文本框的,这回发一个下拉列表框。 一般在写自定义控件之前都要考虑一下原来的控件(系统代的)有什么优缺点,有哪些功能是我想要的,但是自带的控件没有提供,或者提供的不是太理想。 那么对于 下拉列表框 我个人感觉有几个地方用着不是太方便。
1039 0
|
Web App开发
艾伟:WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能
前面的几篇文章中,我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型转换器,现在我们可以在属性浏览器中编辑它的值,并且它的值也被串行化的源代码里了。但是你有没有发现,在属性浏览器里编辑这个属性的值还是不太方便。
707 0
[自定义服务器控件] 第一步:文本框。
最近在整理我写的几个服务器控件,发出来与大家共享吧。 我写的自定义服务器控件呢分为两个类, 一是“简单继承”控件,就是继承框架里的控件然后加点属性了、事件了什么的。 二是“功能”控件,简单的说那是符合控件,但是呢是以实现一种功能为目的地。
831 0