0

Я создал класс. Файл Cars (класс):

Public model As String
Public number As String

Public Sub add()
     model = Form2.Text1.Text
     number = Form2.Text1.Text
End Sub

Файл Form2 (код с нажатия кнопки):

Dim a As New Cars
a.add

Выбивает ошибку. Ошибку не помню, пишу с телефона код. Как её исправить?

Kromster
  • 13,809
TemaGr
  • 23
  • вам все-таки стоит вспомнить ошибку. потому что если Cars - класс, то все должно работать. –  Sep 30 '15 at 08:19
  • Так правильно вообще так забивать объект данными или проще делать присваивание в самой кнопке после создания объекта? Например a. model = ... – TemaGr Sep 30 '15 at 08:30
  • правильнее - передавать "параметры" объекта в его конструктор –  Sep 30 '15 at 08:31
  • кстати, код в вопросе полностью рабочий. даже не знаю как его можно исправить. –  Sep 30 '15 at 09:35

2 Answers2

1

Я точно не знаю как это на VB (я работаю на С#). Но попробуйте так

Public Sub add(_form as Form)
model = _form.Text1.Text
number = _form.Text1.Text
End Sub



Dim a As New Cars
a.add(Form2)
Voucik
  • 111
  • 7
  • В VB.NET есть глобальная коллекция My.Application.Forms, через которую он и пытается обратиться к форме. Но это действительно плохой вариант, твой лучше. Только add(Form2). – Qwertiy Sep 30 '15 at 09:09
  • Спасибо за подсказку. Не знал, что в VB.NET можно глобально обращаться к формам. – Voucik Sep 30 '15 at 09:29
0
Class Car
  Public Property Model As String
  Public Property Number As String

  Public Sub New(Model As String, Number As String)
    With Me
      .Model = Model
      .Number = Number
    End With
  End Sub
End Class
Qwertiy
  • 123,725
  • А когда данные передавать в конструктор? При объявлении или после? Если можно, то покажите как лучше. – TemaGr Sep 30 '15 at 09:41
  • @TemaGr, если форма нужна именно для редактирования или создания элемента, я бы во-первых, сделал это содержимое UserControl'ом, а во-вторых, добавил бы ему свойство Value, полями которого он будет манипулировать. Аналогично можно поступить и с формой. Т. е. форма сама предоставляет сформированный объект вызывающему коду по аналогии с тем, как диалог выбора файла/папки предоставляет имя. – Qwertiy Sep 30 '15 at 10:07