我会做的是有一个公共图像属性,像这样的内部表格B:
private Image image;
public Image SelectedImage
{
get
{
return image;
}
}
然后,我想补充一个button_Click事件(或任何你使用确认选择)。此事件将关闭窗体并设置返回图像。
private void Button_Click(object sender, EventArgs e)
{
image = [Whatever Image variable that you want to return];
Close();
}
使FormB看起来像这样。
public class FormB : Form
{
//[...]Stuff
private Image image;
public Image SelectedImage
{
get
{
return image;
}
}
private void Button_Click(object sender, EventArgs e)
{
image = [Whatever Image variable that you want to return];
Close();
}
}
最后,将其用于FormA的背景图像。只需执行以下步骤。
public void ChangeBackground()
{
FormB b = new FormB();
b.ShowDialog();
this.BackgroundImage = b.SelectedImage;
}
不坏,但OP没有具体说明表单B是作为模式对话框打开的,而且该按钮应该关闭表单。即使是这种情况,最好的做法是在执行一些发布操作之前检查ShowDialog结果。 –
我知道,我只是觉得我会留下模棱两可的空间,因为这个人没有在他们的具体代码和使用上留下太多细节。 – Rariolu