После того, как вы нарисовали что-то на бумаге, вы не сможете вернуть его обратно, не закрасив его полностью правильным цветом или не утилизировав (очистив) все и перекрасив только те объекты, которые должныостаются. То же самое относится к PictureBox
.
. Если этот значок является единственным, который иногда виден, но не виден в других случаях, вы можете ввести поле bool
в своем классе формы. Если bool
равно true
, вы рисуете значок, в противном случае - нет. Затем, когда пользователь нажимает кнопку, вы можете изменить значение этого поля и обновить форму.
Поскольку вы показываете очень мало кода, я не знаю названий классов или методов в вашемрешение, поэтому рассмотрите этот псевдокод!
// Pseudo code
class MyForm : Form
{
// The field that decides whether to draw the icon
private bool showWarningIcon = true;
// The button click handler
public void OnButtonClick()
{
showWarningIcon = false;
Invalidate();
}
// The paint handler
public override void OnPaint(PaintEventArgs e)
{
// Draw other things, then:
if (showWarningIcon)
{
g2.DrawIcon(SystemIcons.Warning, new Rectangle(screenPositionX, screenPositionY, _levelWidth, _levelHeight));
}
}
}