<Pre>В моем проекте я хочу расширить BASECONTROLARRAY, но это невозможно, так как я использую .NET 4, не могли бы вы помочь мне решить эту проблему ?
Я хочу использовать в этом прямоугольную форму.Ниже приведен мой код :
<ProvideProperty("Index", GetType(RectangleShape))> Friend Class RectangleShapeArray Inherits BaseControlArray Implements IExtenderProvider Public Event [Click] As System.EventHandler Public Sub New() MyBase.New() End Sub Public Sub New(ByVal Container As IContainer) MyBase.New(Container) End Sub Public Function CanExtend(ByVal Target As Object) As Boolean Implements IExtenderProvider.CanExtend If TypeOf Target Is RectangleShape Then Return BaseCanExtend(Target) End If End Function Public Function GetIndex(ByVal o As RectangleShape) As Short Return BaseGetIndex(o) End Function Public Sub SetIndex(ByVal o As RectangleShape, ByVal Index As Short) BaseSetIndex(o, Index) End Sub Public Function ShouldSerializeIndex(ByVal o As RectangleShape) As Boolean Return BaseShouldSerializeIndex(o) End Function Public Sub ResetIndex(ByVal o As RectangleShape) BaseResetIndex(o) End Sub Public Shadows Sub Load(ByVal Index As Short) MyBase.Load(Index) CType(Item(0).Parent, ShapeContainer).Shapes.Add(Item(Index)) End Sub Public Shadows Sub Unload(ByVal Index As Short) CType(Item(0).Parent, ShapeContainer).Shapes.Remove(Item(Index)) MyBase.Unload(Index) End Sub Default Public ReadOnly Property Item(ByVal Index As Short) As RectangleShape Get Item = CType(BaseGetItem(Index), RectangleShape) End Get End Property Protected Overrides Sub HookUpControlEvents(ByVal o As Object) Dim ctl As RectangleShape ctl = CType(o, RectangleShape) If Not IsNothing(ClickEvent) Then AddHandler ctl.Click, ClickEvent End If End Sub Protected Overrides Function GetControlInstanceType() As System.Type Return GetType(RectangleShape) End Function End Class
Что я уже пробовал:
Я перепробовал много массивов, но он не подходит для этого.пожалуйста, помогите мне в этом ...спасибо