hekkaaa
@hekkaaa
Junior DevOps

Как в Winform отрисовать элемент в Picturebox?

Привет.

Есть такой затык. Не могу отрисовать элемент в picturebox, если это делаю не из основного окна Winfom.
Поясню:
Есть главная форма и при нажатии на кнопку в пустом белом поле рисуется квадрат. К кнопке привязан код
61af70e9ed3db836389300.png

(осторожно псевдокод)
Object.AddFigure<Фигура>(тут указываются Point для позиции);


У меня необходимость дотягиваться до этого кода из формы на порядок ниже.
При клике на Load нарисовать фигуру.
61af7114d637c011234760.png

И тут начинаются проблемы: К сожалению дотянуться из метода private void button1_Click(object sender, EventArgs e) до кода в главной форме (Object.AddFigure<Фигура>) я не могу . Т.к нет экземпляра класса. Создание нового экземпляра порождает новое главное окно окно (а такой вариант не нужен). (Если другого нет, то не пойму как грохать старое окно).

Прошу подсказать варианты. Так же у меня есть предположение что фигуры рисуются, только я форму или окно не правильно обновляю. Update() ResetText() Application.Restart()
не помогают.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
hekkaaa
@hekkaaa Автор вопроса
Junior DevOps
Как Вариант решение через события предложенное edward_freedom

Решение которое мне подсказали проще.
При создании формы по нажатию кнопки перекидывает this.
var createform = new LoadProject(this);
This - это сама главная неявная форма Form1 которой мы далее сможем наконец воспользоваться.

Далее в самой дочерней форме с кнопками делаем поле и присваиваем значение ему. И ТАДАААМ можем вызывать поле и обращаться к методам Form1.

Form1 _main; // Поле

        public LoadProject(Form1 main)
        {
            InitializeComponent();
            _main = main;
        }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы