У меня проблема с созданием настраиваемого элемента управления. Когда я создаю и построить элемент управления в моей панели инструментов, который вроде того, что я был после:Удалить/скрыть общественный контроль с панели инструментов
Public Class PanelBar
Inherits Panel
Private _mCusBtn As CustomButton
Public Sub New()
InitializeComponent()
_mCusBtn = New CustomButton()
AddHandler _mCusBtn.ButtonClicked, AddressOf CustomButtonClicked
Controls.Add(_mCusBtn)
Public Sub CustomButtonClicked(ByVal btn As CustomButton, ByVal buttonId As Int32)
' Do important stuff here...
End Sub
End Class
Однако, когда оно появится в панели инструментов этого управления также отображает:
Public Class CustomButton
Inherits Button
Public Property BtnId As Integer
Public Property BtnColor As Color
Public Event ButtonClicked(sender As CustomButton, buttonId As Int32)
Public Sub New()
' Set new property values
End Sub
Private Sub CustomButtonClicked(sender As Object, e As EventArgs) Handles Me.Click
RaiseEvent ButtonClicked(Me, BtnId)
End Sub
End Class
Так что я попробовал установить класс CustomButton для друга, чтобы ограничить внешний доступ, потому что я не хочу, чтобы это как элемент управления в моей панели инструментов, и я получаю эту ошибку: «btn» не может выставлять тип «CustomButton» вне проекта через класс «PanelBar». в событии CustomButtonClicked первого класса.
Я не уверен, что имеет смысл ограничить область действия элементов управления, которые помогают составлять мой пользовательский элемент управления, поскольку он имеет доступ к событиям на них. Честно говоря, я не помню, как однажды я столкнулся с настраиваемым элементом управления, который не перечисляет элементы управления, которые его составляют, поэтому я не совсем уверен, что это будет возможно ... но я бы очень признателен за любые совет, который я могу получить.
украсить кнопку '' и очистить/перестроить. FWIW там нет ничего, для чего требуется собственный класс. –
Plutonix
Я не знаю, как отметить сообщение как ответ, потому что это было так. Мой класс CustomButton фактически наследуется от другого класса кнопок, где он фактически нарисован. Я не думал, чтобы попытаться просто обойти пример из предыдущей и вместо этого объявить кнопку из моего рисованного класса. Но решение действительно помогает с другими элементами управления в моем классе. – Recoil