Как я могу изменить фоновое изображение кнопки из другой формы в C #? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть кнопка, которая при нажатии меняет свое фоновое изображение и открывает другую форму.Я хочу, чтобы это фоновое изображение снова изменилось, когда я закрываю 2-ю форму (Cam), нажимая крестик X в правом углу.Как я могу это сделать?Должен ли я использовать события FormClosed () или FormClosing ()?Спасибо.

private void CamBox1btn_Click(object sender, EventArgs e)
{   
        Camera Cam = new Camera();  

        if (bln)
        {
            CamBox1btn.Image = imageList1.Images[10];
            Cam.ShowDialog();             
        }

        else
        {
            CamBox1btn.Image = imageList1.Images[8];                
        }
        bln = !bln;
    }

1 Ответ

0 голосов
/ 24 мая 2018

Форма 1:

 private void CamBox1btn_Click(object sender, EventArgs e)
    {
        Camera Cam = new Camera();          
        if (Cam_bln)
        {
            CamBox1btn.BackgroundImage = Properties.Resources.Camera_button_ON;
            Cam.eventForm += new ShowFrm(backgroundcolor_change_CAM);
            Cam.ShowDialog();

        }

        else
        {
            CamBox1btn.BackgroundImage = Properties.Resources.Camera_button_OFF;                
        }
        Cam_bln = !Cam_bln;
    }

    void backgroundcolor_change_CAM()
    {
        Cam_bln = false;
        CamBox1btn.BackgroundImage = Properties.Resources.Camera_button_OFF;
    }

Форма 2:

public delegate void ShowFrm();
public partial class Camera : Form
{

    public event ShowFrm eventForm;
    private void Camera_FormClosing(object sender, FormClosingEventArgs e)
    {
        eventForm?.Invoke();
    }
}
...