如何将其转换为DLL

时间:2013-01-11 03:15:01

标签: vb.net visual-studio dll user-controls class-library

我想编译一个DLL控件,是一个扩展面板,但我只有类,我不喜欢使用类添加自定义控件,我更喜欢将DLL添加到工具箱中。

有人可以帮我将其转换为类库DLL控件吗?

PS:另外也许我可能需要一个指导步骤来制作类库,这是我第一次尝试这个。

三江源。

Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Text
Imports System.Windows.Forms

Namespace GradientPanel
    Public Partial Class GradientPanel
        Inherits System.Windows.Forms.Panel

        ' member variables
        Private mStartColor As System.Drawing.Color
        Private mEndColor As System.Drawing.Color

        Public Sub New()
            ' InitializeComponent()
            PaintGradient()
        End Sub

        Protected Overrides Sub OnPaint(pe As PaintEventArgs)
            ' TODO: Add custom paint code here

            ' Calling the base class OnPaint
            MyBase.OnPaint(pe)
        End Sub


        Public Property PageStartColor() As System.Drawing.Color
            Get
                Return mStartColor
            End Get
            Set
                mStartColor = value
                PaintGradient()
            End Set
        End Property


        Public Property PageEndColor() As System.Drawing.Color
            Get
                Return mEndColor
            End Get
            Set
                mEndColor = value
                PaintGradient()
            End Set
        End Property


        Private Sub PaintGradient()
            Dim gradBrush As System.Drawing.Drawing2D.LinearGradientBrush
            gradBrush = New System.Drawing.Drawing2D.LinearGradientBrush(New Point(0, 0), New Point(Me.Width, Me.Height), PageStartColor, PageEndColor)

            Dim bmp As New Bitmap(Me.Width, Me.Height)

            Dim g As Graphics = Graphics.FromImage(bmp)
            g.FillRectangle(gradBrush, New Rectangle(0, 0, Me.Width, Me.Height))
            Me.BackgroundImage = bmp
            Me.BackgroundImageLayout = ImageLayout.Stretch
        End Sub

    End Class
End Namespace

1 个答案:

答案 0 :(得分:1)

我一直只使用CustomControlLibrary命名它并将程序集名称和默认命名空间设置为您想要的dll,然后右键单击项目并选择添加类,然后您将添加自定义控件的类代码到项目。您还可以在此时添加新的UserControl。编译时,它会创建一个dll,您可以通过右键单击ToolBox选择选择项目然后浏览到您创建的Dll来浏览。然后,它会将控件库中包含的控件添加到ToolBox中。