C#,在父窗体中点击打开图片按钮,图片显示在子窗体中。

C#,在父窗体中点击打开图片按钮,图片显示在子窗体中。再次点击打开图片按钮,又打开子窗体,且不会覆盖之前的窗体。如此可以实现打开多个子窗体,都不会覆盖,独立存在,这个该怎么实现呢?如何控制呢,求大神指点啊

 var f=new fChild();
 f.show(path_of_image);

不要用showdialog方法,用show方法

1.你可以将图片数据传到子窗口中进行显示。
2.将子窗口显示的位置进行控制即可。

pirvate Image image1;
public Image image2;
{set{image1=value;}
get{return image1}
}

这个就是个传值的问题,在父窗体事件中给image1赋值,然后在子窗体中调用父窗体的Image2就可以额
不知道能不能帮到楼主

获取屏幕的分辨率,也就是显示器屏幕的大小。
int xWidth = SystemInformation.PrimaryMonitorSize.Width;//获取显示器屏幕宽度
int yHeight = SystemInformation.PrimaryMonitorSize.Height;//高度
然后定义窗口位置,以主窗体为例
Form.Location = new Point(xWidth/2, yHeight/2);//这里需要再减去窗体本身的宽度和高度的一半
Form.Show();

这是典型的使用mid子窗体的场合。

就像'知常曰明'所说的一样:

首先, 既然子窗体要互不影响, 那么他们一定是不同的类实例, 所以每一次点击按钮都要new一个新的子窗体.

其次, 你要求的是"子窗体"而不是"对话框", 那么就应该用Show()而不是ShowDialog().

最后, 关于图片, 你可以将图片的路径作为子窗体的属性(or字段)在new子窗体的时候通过构造函数注入.