我想创建一个接收表单作为输入的函数。我需要使用控件'传递表单的属性。例如:
Private Sub Drawing(ByVal frm As Form)
X = frm.a.Left + frm.a.Width
End Sub
Visual Basic不接受我使用的这种方法。我该如何解决?
答案 0 :(得分:2)
代码应该是这样的:
Private Sub Drawing(ByVal frm As Form)
Dim i As Control()
i = frm.Controls.Find("a", True)
if i.Length <> 0 Then
X = i(0).Left + i(0).Right
End If
End Sub
答案 1 :(得分:1)
&#34; Visual Basic不接受我使用的这种方法&#34; 是一个非常模糊的问题描述。你应该具体说明你得到的错误以及你想要的结果,因为我们不是思想领袖,因此除非我们得到明确的信息,否则无法说出问题所在。
但是,如果您尝试更改控件/表单的X位置,则必须更改整个Location
属性。
更改当前表单的X位置:
Me.Location = New Point(frm.a.Left + frm.a.Width, Me.Location.Y)
更改控件的X位置(其中YourControl
是您要移动的控件的名称):
YourControl.Location = New Point(frm.a.Left + frm.a.Width, YourControl.Location.Y)