У меня есть 2 формы, основная форма & ModalBox.Использование пользовательского события для рисования фигур в другой форме C#
В основной форме у меня есть кнопка, которая при нажатии рисует фигуру в зависимости от выбранного индекса comboBox.
// Create Rectangle or Ellipse
public void buttonAdd_Click(object sender, EventArgs e)
{
SolidBrush sb = new SolidBrush(Color.Red);
Graphics g = panel1.CreateGraphics();
if (shapeSizeControl1.comboBoxShapeSelection.SelectedIndex == 0)
{
g.FillRectangle(sb, Convert.ToSingle(shape.X), Convert.ToSingle(shape.Y), Convert.ToSingle(shape.Width), Convert.ToSingle(shape.Height));
}
else if (shapeSizeControl1.comboBoxShapeSelection.SelectedIndex == 1)
{
g.FillEllipse(sb, Convert.ToSingle(shape.X), Convert.ToSingle(shape.Y), Convert.ToSingle(shape.Width), Convert.ToSingle(shape.Height));
}
}
В форме ModalBox У меня есть кнопка ОК, которая должна делать то же самое, что и кнопка в главном виде, но это не потому, что я понятия не имею, как программировать его, чтобы сделать это.
Что я пробовал ..
Копирование и тот же код с основной формой buttonAdd_Click в ModalBox buttonOk_Click. Плохая идея, потому что мне нужно создать новую основную форму, чтобы получить переменную panel1. Если я это сделаю, ничего не произойдет. Зачем? Я не уверен, что объяснение будет замечательным.
Создание настраиваемого события, поэтому, когда открывается форма ModalBox, как только я нажму кнопку ok с момента ее подписания, он нарисует форму. 1 проблема Я понятия не имею, где вызвать событие и проверить значение null, потому что кнопка находится во второй форме, поэтому, если я вызываю пользовательское событие в первой форме, у меня нет места для вызова события и нулевой проверки.
Гол
Моя цель состоит в том, чтобы выяснить, как добавлять фигуры в главной форме от формы ModalBox с помощью кнопки Ok в форме ModalBox.
PS. Чтобы сделать это правильно, вам нужно подписаться на событие «Paint» формы и сделать там рисунок. – ja72