首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

创建窗体时出错。有关详细信息,请参阅 Exception.InnerException。异常为: 未将对象引用设置到对象的实例。这个错误

2012-08-08 
创建窗体时出错。有关详细信息,请参阅 Exception.InnerException。错误为: 未将对象引用设置到对象的实例。这

创建窗体时出错。有关详细信息,请参阅 Exception.InnerException。错误为: 未将对象引用设置到对象的实例。这个异常?
代码如下

VB.NET code
Public Class Class1    Dim a As New Timers.Timer(100)    Public x As Integer    Public y As Integer    Public xBtn As Integer    Public yBtn As Integer    Public NewxBtn As Integer    Public NewyBtn As Integer    Public Sub run()        a.Enabled = True        AddHandler a.Elapsed, AddressOf a_elapsed        If x = xBtn And y = yBtn Then            a.Enabled = False        End If    End Sub    Private Function Move(ByVal x As Integer, ByVal y As Integer, ByVal x1 As Integer, ByVal y1 As Integer) As Point        move.X = x1 - x        move.Y = y1 - y    End Function    Private Sub a_elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs)        NewxBtn = (Move(xBtn, x, yBtn, y).X) / 100        NewyBtn = (Move(xBtn, x, yBtn, y).Y) / 100    End SubEnd Class

窗体代码
VB.NET code
Public Class Form1    Dim myclass1 As New Class1 With {.xBtn = Button1.left, .yBtn = Button1.top}    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove        If e.Button = Windows.Forms.MouseButtons.Left Then            myclass1.x = e.X            myclass1.y = e.Y            myclass1.run()            Button1.Left = myclass1.xBtn            Button1.Top = myclass1.yBtn        End If    End SubEnd Class


[解决办法]
Dim myclass1 As New Class1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With myclass1
.xBtn = Button1.Left
.yBtn = Button1.Top
End With
End Sub

这样改 with这样用

热点排行