Win32Exception - 类已存在

时间:2012-11-19 03:59:20

标签: vb.net .net-4.0

我收到Win32Exception - 生产代码中的“类已存在”。相同的代码在我的演示项目中没有问题。可能有什么问题?

Private Class MyClientWindow
    Inherits NativeWindow

    Public Sub New(ByVal parent As Form)

        Dim cp As CreateParams = New CreateParams()

        ' Fill in the CreateParams details.
        cp.Caption = "Parent Static Window"
        cp.ClassName = "Static"

        ' Set the position on the form
        cp.X = 0
        cp.Y = 0
        cp.Height = 0
        cp.Width = 0

        ' Specify the form as the parent.
        cp.Parent = parent.Handle

        ' Create as a child of the specified parent
        cp.Style = WS_CHILD Or WS_VISIBLE

        ' Create the actual window 
        Me.CreateHandle(cp)
    End Sub

End Class

System.ComponentModel.Win32Exception was unhandled by user code. 
ErrorCode=-2147467259,     
Message=Class already exists, 
NativeErrorCode=1410, 
StackTrace:
at System.Windows.Forms.NativeWindow.WindowClass.RegisterClass()
at System.Windows.Forms.NativeWindow.WindowClass.Create(String className, Int32 classStyle)
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)

1 个答案:

答案 0 :(得分:0)

将类名从“静态”更改为“静态”接缝可以正常工作。我在CreateParams.ClassName Property中找到了对此的评论:

  

从标准Button控件派生,将此ClassName属性设置为   “BUTTON”