C#winform中如何点击一个窗体的button,向另一个窗体动态添加picbox控件

来源:百度知道 编辑:UC知道 时间:2024/06/15 17:04:28
有两个窗体一个主窗体main,另一个窗体adddesk,如何实现当点击adddesk一个btnadd时候,main窗体就会自动的添加一个button控件

不建议将main作为参数传入其他子窗体,使用Owner属性即可
这样写:

假设你在main窗体中这样打开adddesk窗体:
Adddesk adddesk=new Adddesk(); //创建新的Adddesk窗体
adddesk.Owner=this; //使adddesk的所有者窗体为main
adddesk.show(); //显示adddesk

在adddesk窗体中某按钮的click事件下写:
Owner.Controls.Add(你要添加的控件); //在main中添加控件
你可能也会需要点击后控制main中已有的控件?这样:(假设main窗体中已有name为"button1"的按钮)
Owner.Controls["button1"].Visible=true; //同理应用于其他控件和其属性
//及成员方法

此方式同样适用于多个子窗体控制主窗体

给你个思路,在主窗体Main中定义一个公有的方法,比如
public void AddButton()
{
Button btn = new Button();
btn.Text = "btn1";
this.Controls.Add(btn);
}

然后把自己作为参数传给窗体AddDesk,在AddDesk的构造函数里写:
public AddDesk(Main main)
{
this.main = main;
}
记住 这个this.main是你实现申请的一个Main类型的变量
private Main main;

这样,在主窗体弹出AddDesk窗体的语句就这么写:
AddDesk addDesk = new AddDesk(this