Gyzz Я пытаюсь создать пользовательский элемент управления с свойством только для чтения (Of Points). У меня возникли проблемы с инициализацией и использованием этого свойства! Помогите мне, я довольно новичок в визуальной основе.Работа с Readonly List Property
UserControl1:
Public Class PointEntryPanel
Dim P as List(of PointF) = New List(Of PointF)
Public ReadOnly Property Points as List(Of PointF)
Get
P = Points
return P
End Get
End Property
End Class
Форма:
Public Class Form1
Private Sub Form1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDoubleClick
ListBox1.Items.Add("You see ,No null reference exceptions")
ListBox1.Items.Add("I want a property just like this")
PointEntryPanel1.Points.Add(New PointF(0, 0)) 'While this creates exceptions
PointEntryPanel1.Points.Add(New PointF(1, 1)) 'And the point is not added to the PList
MessageBox.Show(PointEntryPanel1.PArray.ToString) 'this shows an empty box
End Sub
End Class
Я хочу, чтобы закодировать свойство так же, как свойство 'предметов' в элементе управления List Box
Является 'PointEntryPanel1' во втором блоке предполагается,' UserControl1' и 'PArray' предполагается использовать «Баллы»? Как это не работает с ответом Магнуса? – Plutonix
Yup, спасибо, что уведомил об этом, это была ошибка !!! Я получаю исключение с нулевой ссылкой и точки не добавляются методом «Points.Add»! –
'Dim P as List (of PointF) = Новый список (Of Points)' не компилируется. если вы исправите это и просто «вернете P» в геттере, как в ответе, он будет работать нормально – Plutonix