0

VB.Net でカスタム ボタン コントロールを作成して、独自のテキスト フィールドを追加して、必要な場所に配置しようとしています。しかし、ボタンを実行すると、ボタンのように機能しなくなります。私の addHandlers はどれも機能せず、ボタンをクリックしても何も起こりません。しかし、それは私のテキストを正しく表示します。ボタンとしてのすべての機能を失うだけです。

Public Class myButton
  Inherits System.Windows.Forms.Button
  Public myText As New Label

  Public Sub New(TextString)
        myText.Text = TextString
        myText.BorderStyle = BorderStyle.FixedSingle
        myText.TextAlign = ContentAlignment.MiddleCenter
        Me.Controls.Add(myText)
  End Sub

End Class

私は何が欠けていますか?ありがとう。

4

2 に答える 2

1

カスタム コントロールで、ボタンの上にあるラベルを追加しました。したがって、ボタンではなく、ラベル コントロールをクリックしています。私のために働いている以下のスニペットを試してください

Public Class myButton
Inherits System.Windows.Forms.Button

Public myText As New Label

Public Event OnButtonClick As EventHandler

Public Sub New(TextString As String)
    myText.Text = TextString
    myText.BorderStyle = BorderStyle.FixedSingle
    myText.TextAlign = ContentAlignment.MiddleCenter
    AddHandler myText.Click, AddressOf OnLabelClick
    Me.Controls.Add(myText)
End Sub

Private Sub OnLabelClick(sender As Object, e As EventArgs)
    RaiseEvent OnButtonClick(Me, e)
End Sub
End Class

フォームの読み込み時

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim customButton As New myButton("vimal")
    AddHandler customButton.OnButtonClick, AddressOf OnCustomButtonClick
    Me.Controls.Add(customButton)
End Sub
Private Sub OnCustomButtonClick(sender As Object, e As EventArgs)
    MsgBox("Clicked")
End Sub
于 2013-08-22T20:19:00.947 に答える