在画面上,有一个文本框(PW)
还有一个自定义的数字小键盘如果按下 数字键后,文本框改变(类似触摸屏输入密码)为何在自定义控件中找不到parent这个属性?
还有一个自定义的数字小键盘如果按下 数字键后,文本框改变(类似触摸屏输入密码)为何在自定义控件中找不到parent这个属性?
解决方案 »
- 为什么提示下边越限,哪边出错了,请高手帮忙看看
- 【乱删帖嫌疑】请接受调查
- 用程序获取有模式的对话框?
- 再问如何监控某一文件夹内文件的增加和删除(刚才给结了帖了)
- 帮我看这段程序好吗?
- 第一次用VB:请问如何用VB调用一个Console.msi的安装程序??
- 请教一个Combo的问题。(再线等待)
- VB如何实现一个窗体在移动时不能移出屏幕外侧?
- 哪位大侠有符合国情的报表控件,本人付费求购!
- image控件能调用imagelist控件中的图形吗?怎么调用?
- ADODB.Recordset 错误 '800a0cc1' 在对应所需名称或序数的集合中,未找到项目。 /index.asp,行 97
- 一段代码 求翻译 在线等!
你说的"类似触摸屏输入密码",这个数字界面是键盘,还是你在屏幕上显示了一个窗体,上面是10个按钮?Me.Parent.Controls如果me是控件,那么me.parent就是控件的容器,一般是窗体.窗体的controls是一个集合,你也用msgbox me.parent.controls也没有指定是集合的哪一个元素,也没有指定集合的属性,系统不知道你要什么.如果你是显示了一个窗体,上面10个数字按钮,那么按这些按钮的时候你修改textbox的text属性就够了.比如:
在form1上一个textbox输入密码,名字是PW,PW得到焦点后显示模式窗体(位置调整为PW的附近),名字EnterPW.EnterPW上面10个按钮式0-9,任意点击一个按钮CommandButton(最好是个控件数组了)都执行:
form1.PW.text=form1.PW.text & Index'Index是CommandButton的Index
pw(textbox)控件在画面的form中而0-9的数字键是一个自定义控件现在无法在自定义控件中找到外层的PW控件!
private sub button1_click(......)
for each thiscontrol as system.windows.forms.control in me.parent.controls
if thiscontrol.gettype.name ="TextBox" then
thiscontrol.text = "hello"
end if
next
end ub
end class
使用UserControl.ParentControls(或UserControl.Parent.Controls,当父容器是窗体时),而不是me.parent.controls
示例:Dim obj As Object
For Each obj In UserControl.ParentControls
Debug.Print obj.Name, TypeName(obj)
Next
还不如自定义控件提供一个借口,这个借口接收Textbox类型的值作为这个控件操作的目标.set usercontrol11.Textbox1=form1.PW这样在自定义控件就有了pw的引用,可以直接操作了