Я рисую что-то на своей панели с помощью метода и когда я вызываю этот метод с помощью кнопки, которую он рисует, но когда я вызываю этот метод на , он ничего не рисует. Когда я его отлаживаю, он действительно проходит через код без каких-либо проблем, но он все равно ничего не рисует.Рисунок на Form_Load C++/CLI
ниже вы можете увидеть и Button_Click
события:
private: System::Void SelectElementForm_Load(System::Object^ sender, System::EventArgs^ e)
{
if (ElementList->Count > 0)
{
Index = 0;
DrawLinesInLayout();
}
}
и кнопку
private: System::Void btnLeft_Click(System::Object^ sender, System::EventArgs^ e)
{
if (ElementList->Count > 0)
{
if (Index + 1 > 1)
{
Index--;
DrawLinesInLayout();
}
else
{
Index = ElementList->Count - 1;
DrawLinesInLayout();
}
}
}
Когда я использую Paint-event
это работает, когда моя форма всплывает. Но потом я дважды получил код в своей программе, который не имеет смысла.
Так что мои вопросы:
- Почему мой Form_Load не используя мой метод правильно и моя кнопка?
- Могу ли я назвать событие
Paint
нажатием кнопки?
Да, совершенно бессмысленно сохранять исходный код. Разделение пикселей на окно, которое еще не видно, является пустой тратой времени. Удали это. Вызовите Invalidate(), когда вам нужно, чтобы событие Paint снова запустилось. –
@Hans Call Invalidate() не работает для меня, он просто перерисовывает мое первое событие «Paint». У меня есть некоторые переменные в моем событии «Paint», которое изменяется, когда я нажимаю кнопки. – Bart
Решил его с помощью события 'Shown' вместо события' Load' – Bart