0

拡張パネルである 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
4

1 に答える 1

1

私はいつもCustomControlLibraryに名前を付け、アセンブリ名とデフォルトの名前空間をdllの名前に設定しました。次に、プロジェクトを右クリックして[クラスの追加]を選択し、カスタムコントロールのクラスコードをに追加します。計画。そのときに新しいUserControlを追加することもできます。コンパイルすると、ツールボックスを右クリックして[アイテムの選択]を選択し、作成されたDLLを参照して参照できるdllが作成されます。次に、コントロールライブラリに含まれているコントロールをツールボックスに追加します。

于 2013-01-11T03:48:40.033 に答える