如何使用相同的变量引用多个名称?
我写了这段代码
Public Shared Function drag()
Dim drag As Boolean, mousex As Integer, mousey As Integer
If drag Then
Me.Top = Cursor.Position.Y - mousey
Me.Left = Cursor.Position.X - mousex
End If
End Function
和另一个代码可以无边界移动Windows窗体,我想在所有类和窗体中使用此功能,但出现此错误
“我”仅在实例方法中有效。
我可以使用哪个关键字替换“ Me”以使其适用于任何形式
答案 0 :(得分:0)
通过将相关控件或表单的值作为例程的一部分传递。在下面的示例中,我使用控件-修改以适合您的情况。
Public Shared Function drag(ByVal theControl As Control)
Dim drag As Boolean, mousex As Integer, mousey As Integer
If drag Then
theControl.Top = Cursor.Position.Y - mousey
theControl.Left = Cursor.Position.X - mousex
End If
End Function
但是,您的函数还有另一个问题-您正在使用一个函数,但未返回任何值。始终请Option Strict On
来帮助您进行有效的编程实践。另外,您在例程中声明了drag
,mouseX
和mouseY
,但没有初始化它们-因此它们默认为false或0,并且您从不拖动任何内容。
您的常规结构应为:
Public Shared Sub drag(ByVal theControl As Control) ' and whatever other parameters should be included
'...
End Sub