自定义控件中如何改变其他控件的值
在画面上,有一个文本框(PW)
还有一个自定义的数字小键盘
如果按下 数字键后,文本框改变(类似触摸屏输入密码)
为何在自定义控件中找不到parent这个属性?
[解决办法]
给分不?
[解决办法]
貌似没人会
[解决办法]
那也得等会的人有时间
[解决办法]
你的文本框式textbox控件不是?
你说的"类似触摸屏输入密码",这个数字界面是键盘,还是你在屏幕上显示了一个窗体,上面是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
[解决办法]
使用UserControl.ParentControls(或UserControl.Parent.Controls,当父容器是窗体时),而不是me.parent.controls
示例:
Dim obj As ObjectFor Each obj In UserControl.ParentControls Debug.Print obj.Name, TypeName(obj)Next