0

例として、ToolboxItemAttribute から派生した単純な属性を次に示します。

<ToolboxItemX(False)> _
Public Class Class1
    Inherits Button
End Class

Public Class ToolboxItemXAttribute
    Inherits ToolboxItemAttribute

    Public Sub New(ByVal defaultType As Boolean)
        MyBase.New(defaultType)
    End Sub

End Class

問題は、ツールボックスを表示すると Class1 が表示されることです。私の属性が無視されているかのように、デフォルトの toolboxitem 属性が使用されます。

リフレクターを使用して ToolboxService.GetToolboxItem のロジックを調べましたが、見る限り、属性が取得され、アイテムがツールボックスに表示されないことがわかります。

PS: ツールボックスをリセットしたり、IDE を閉じたり、再度開いたりしてみました。

4

1 に答える 1

1

Windows フォーム ツールボックスは非常に扱いにくいものです。これは機能するはずですが、実際には機能しません。理由はわかりませんが、このコードは Visual Studio 内に閉じ込められています。回避策として、DesignTimeVisibleAttribute を使用して非表示にすることができます。このような:

<ToolboxItemX(False)> _
<DesignTimeVisible(False)> _
Public Class Class1
    Inherits Button
End Class
于 2010-09-18T15:19:08.140 に答える