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