#vb.net #windows-forms-designer
#vb.net #windows-forms-designer
Вопрос:
Я хочу использовать информацию, предоставленную текстовым полем в form2, чтобы нарисовать круг / прямоугольник / эллипс / сектор в графическом поле в форме 1.
Таковы требования к этой программе
- Начальная форма будет иметь ряд опций относительно того, какие фигуры вы хотели бы нарисовать. Варианты будут следующими: круг, прямоугольник, эллипс и сектор.
- В начальной форме также будет графическое поле, в котором будет нарисована фигура.
- В начальной форме будет доступна опция изменения цвета фона графического поля, чтобы пользователю было легче видеть рисуемую фигуру (для этой опции будет достаточно предустановленного списка из 3 цветов).
- При выборе фигуры появится всплывающая (модальная) форма, которая получит пользовательский ввод, специфичный для этой формы (например, для прямоугольника потребуются ширина и высота, тогда как для круга потребуются начальные координаты плюс диаметр). Для каждой формы, вероятно, потребуются разные входные данные. Программа должна проверять значения, вводимые пользователем, чтобы убедиться, что они действительны (например, длина не может быть отрицательной, а радиус не может быть буквой вместо цифры).
- Каждая модальная форма должна позволять пользователю выбирать цвет заливки как минимум из 3 цветов (на ваш выбор!) или вообще не заливать (в этом случае выбор цвета пользователем определяет цвет линии).
- Когда входные данные получены от пользователя, модальная форма должна закрыться (с помощью кнопки «Принять параметры», после чего фигура будет нарисована на главном экране. *** Вот где я застрял
- На главном экране также должна быть кнопка сброса, чтобы очистить графическое поле, и кнопка выхода, чтобы выйти из программы. Также добавьте ключи доступа, где это возможно, в вашу программу.
Я пытался использовать Dim Main в качестве новой Формы1
Form1.Show()
Но при нажатии кнопки ничего не происходит
Общедоступная общая длина Общедоступный общий RWid Общедоступная общая заливка
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text < -1 Or TextBox2.Text < -1 Then
MsgBox("Length or Width not valid." "Please Try Again.")
End If
Dim Rlength As Integer
Rlength = TextBox1.Text
Dim RWid As Integer
RWid = TextBox2.Text
Dim Main As New Form1
Form1.Show()
End Sub
При нажатии кнопки ничего не происходит.
Комментарии:
1. Вы хотите нарисовать изображение в Form1?
2. Да, нарисуйте картинку в форме 1, используя информацию из текстового поля в форме 2
3. Вам необходимо передать эту информацию в Form1. Вы можете либо передать их в конструкторе
Form1
, поскольку у вас могут быть некоторые свойства в Form1, которым вы присваиваете значение из TextBoxed перед выполнениемForm1.Show()
4.
Dim Main As New Form1
Main.Show()
. Когда условие, определенное вIf
инструкции (If TextBox1.Text = (...)
), может потребоватьсяReturn
после отображения окна сообщения. Также установитеOption Strict On
, затем исправьте появляющиеся ошибки.