Для окончательного проекта в моем классе Visual Basic я делаю версию Battleship для Windows Forms (я называю ее «NavalQuest»: p). Для каждого игрока есть форма, и у меня есть .vb-файл для общедоступной общей информации. В этом файле у меня есть публичный общий суб под названием «Место», который будет вызываться при размещении кораблей. Вот то, что я должен возглавить суб:Ссылка на элемент управления по параметрам sub
Public Shared Sub Place(ByRef form As Form, ByRef board(,) As PictureBox, ByRef picbox As PictureBox)
Где «форма» это форма, из которой Sub вызывается (или p1 или p2), «доска (,),» 2D-массив изображения коробки, которые являются фактической доской, и «picbox» - поле с изображением, на котором пользователь хочет разместить рассматриваемое судно.
Пользователь выбирает переключатель, «горизонтальный» или «вертикальный», который согласуется с ориентацией судна. Sub проверяет, какой из них щелкнуть. Именно по этой причине у меня есть параметр «form», чтобы ссылаться на форму, на которой находится переключатель, поскольку я не могу просто ссылаться на нее прямо из глобального файла .vb. Однако, когда компьютер считывает:
form.radhoriz.checked
Она ошибки, прежде чем я даже пытаться бежать, потому что «radhoriz», очевидно, не является свойством Windows.System.Forms.Form. Он не понимает, что я собираюсь управлять формой, а не свойством самой Формы. Даже если бы я должен был создать свойство в каждой форме «radhoriz», ошибка все равно будет существовать, так как «radhoriz» тогда будет свойством «p1board» и «p2board» (имена форм), а не Windows.System. Forms.Form.
Я попытался изменить тип данных параметра только на объект. Не было никаких синих линий ошибок, поэтому я запустил приложение. Ошибка выполнения вошла по той же причине, что и раньше.
Есть ли способ обойти это? Думаю, я мог бы добавить параметры для всех элементов управления, которые я ссылаюсь на форму, но это единственный способ? Спасибо за вашу помощь!
-Ryan
Возможно, вам следует изменить правописание имени приложения, чтобы некоторые не подозревающие пользователи думали, что они будут изучать пуговицы живота. –
Эмбаррирование орфографической ошибки исправлено :) – ThankThePhoenicians