自定义控件中如何改变其他控件的值

LGame 2012-08-06 02:11:07
在画面上,有一个文本框(PW)
还有一个自定义的数字小键盘

如果按下 数字键后,文本框改变(类似触摸屏输入密码)

为何在自定义控件中找不到parent这个属性?
...全文
246 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
王二.麻子 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
使用UserControl.ParentControls(或UserControl.Parent.Controls,当父容器是窗体时),而不是me.parent.controls
示例:
VB code

Dim obj As Object
For Each obj In UserControl.ParentControls
Debug.Print obj.Name, TypeNam……
[/Quote]

还不如自定义控件提供一个借口,这个借口接收Textbox类型的值作为这个控件操作的目标.

set usercontrol11.Textbox1=form1.PW

这样在自定义控件就有了pw的引用,可以直接操作了
LGame 2012-08-06
  • 打赏
  • 举报
回复
帮顶也给分啊!
LGame 2012-08-06
  • 打赏
  • 举报
回复
给,标了
FirePhoenixNeo 2012-08-06
  • 打赏
  • 举报
回复
给分不?
LGame 2012-08-06
  • 打赏
  • 举报
回复
管用了,结贴了!
LGame 2012-08-06
  • 打赏
  • 举报
回复
没有人清楚吗?
LGame 2012-08-06
  • 打赏
  • 举报
回复
有人在吗?
LGame 2012-08-06
  • 打赏
  • 举报
回复
来了个明白的,我晚上回去试试啊
c_cyd2008 2012-08-06
  • 打赏
  • 举报
回复

使用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
LGame 2012-08-06
  • 打赏
  • 举报
回复
是啊,我已经打算把事件暴露出来了
FirePhoenixNeo 2012-08-06
  • 打赏
  • 举报
回复
貌似还没有结果啊
LGame 2012-08-06
  • 打赏
  • 举报
回复
呵呵,是VB6,不是.net
LGame 2012-08-06
  • 打赏
  • 举报
回复


public class usercontrol11
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

LGame 2012-08-06
  • 打赏
  • 举报
回复
谢谢楼上的兄弟了

现在de 问题是
pw(textbox)控件在画面的form中

而0-9的数字键是一个自定义控件

现在无法在自定义控件中找到外层的PW控件!
王二.麻子 2012-08-06
  • 打赏
  • 举报
回复
你的文本框式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
LGame 2012-08-06
  • 打赏
  • 举报
回复
MsgBox UBound(Me.Parent.Controls)

在自定义控件中,上边这句话提示未找到方法或数据成员!?

这是为什么?
LGame 2012-08-06
  • 打赏
  • 举报
回复
呵呵,终于有个高等级的人来看了
twohorses 2012-08-06
  • 打赏
  • 举报
回复
那也得等会的人有时间
LGame 2012-08-06
  • 打赏
  • 举报
回复
mlgb 诺大的网站,入门的问题没人会啊!
FirePhoenixNeo 2012-08-06
  • 打赏
  • 举报
回复
貌似没人会

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧