Как использовать информацию о текстовом поле в приложении multiform для рисования в графическом поле

#vb.net #windows-forms-designer

#vb.net #windows-forms-designer

Вопрос:

Я хочу использовать информацию, предоставленную текстовым полем в form2, чтобы нарисовать круг / прямоугольник / эллипс / сектор в графическом поле в форме 1.

Таковы требования к этой программе

  1. Начальная форма будет иметь ряд опций относительно того, какие фигуры вы хотели бы нарисовать. Варианты будут следующими: круг, прямоугольник, эллипс и сектор.
  2. В начальной форме также будет графическое поле, в котором будет нарисована фигура.
  3. В начальной форме будет доступна опция изменения цвета фона графического поля, чтобы пользователю было легче видеть рисуемую фигуру (для этой опции будет достаточно предустановленного списка из 3 цветов).
  4. При выборе фигуры появится всплывающая (модальная) форма, которая получит пользовательский ввод, специфичный для этой формы (например, для прямоугольника потребуются ширина и высота, тогда как для круга потребуются начальные координаты плюс диаметр). Для каждой формы, вероятно, потребуются разные входные данные. Программа должна проверять значения, вводимые пользователем, чтобы убедиться, что они действительны (например, длина не может быть отрицательной, а радиус не может быть буквой вместо цифры).
  5. Каждая модальная форма должна позволять пользователю выбирать цвет заливки как минимум из 3 цветов (на ваш выбор!) или вообще не заливать (в этом случае выбор цвета пользователем определяет цвет линии).
  6. Когда входные данные получены от пользователя, модальная форма должна закрыться (с помощью кнопки «Принять параметры», после чего фигура будет нарисована на главном экране. *** Вот где я застрял
  7. На главном экране также должна быть кнопка сброса, чтобы очистить графическое поле, и кнопка выхода, чтобы выйти из программы. Также добавьте ключи доступа, где это возможно, в вашу программу.

Я пытался использовать 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 , затем исправьте появляющиеся ошибки.