如何在 C# 中更改另一个窗体按钮的背景图像?
How can I change the background image of a button from another Form in C#?
我有一个按钮,单击该按钮会更改其背景图像并打开另一个表单。当我关闭第二个表单(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:
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();
}
}
我有一个按钮,单击该按钮会更改其背景图像并打开另一个表单。当我关闭第二个表单(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:
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();
}
}