如何使用相同的变量引用多个类名?

时间:2018-12-29 20:22:26

标签: vb.net class

如何使用相同的变量引用多个名称?

我写了这段代码

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”以使其适用于任何形式

1 个答案:

答案 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来帮助您进行有效的编程实践。另外,您在例程中声明了dragmouseXmouseY,但没有初始化它们-因此它们默认为false或0,并且您从不拖动任何内容。

您的常规结构应为:

Public Shared Sub drag(ByVal theControl As Control) ' and whatever other parameters should be included
     '...
End Sub