我有两种形式(A
和B
)。在B
形式中,有许多按钮具有不同的背景图像。在点击任何一个按钮时,我想将表单A
的背景图像更改为按钮的背景图像,该按钮被立即点击,因为它始终在表单后面打开。
formA mai = new formA();
private void button1_Click(object sender, EventArgs e)
{
mai.BackgroundImage = button1.BackgroundImage;
}
这是我正在使用的代码,虽然它改变了它不会立即改变的背景图像,但如果我打开并关闭表格,背景图像将会改变。 我不需要,我需要它立即改变。
答案 0 :(得分:0)
添加this.Refresh()
formA mai = new formA();
private void button1_Click(object sender, EventArgs e)
{
mai.BackgroundImage = button1.BackgroundImage;
mai.BringToFront();
mai.Refresh();
}
答案 1 :(得分:0)
设置新图片后调用mai.Invalidate()
。
答案 2 :(得分:0)
在formB
中添加字段,以引用要更改其formA
的{{1}}个实例;并在致电BackgroundImage
formB
代码隐藏:
formB
public partial class formB : Form
{
public formA owner;
public formB()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (owner != null)
owner.BackgroundImage = button1.BackgroundImage;
}
private void button2_Click(object sender, EventArgs e)
{
if (owner != null)
owner.BackgroundImage = button2.BackgroundImage;
}
private void button3_Click(object sender, EventArgs e)
{
if (owner != null)
owner.BackgroundImage = button3.BackgroundImage;
}
}
代码隐藏:
formA