将图片从usercontrol传递到Form
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将图片从usercontrol传递到Form相关的知识,希望对你有一定的参考价值。
我有一个带有1个面板的主窗体,面板有10个用户控件,每个用户控件都有图片框。
主要形式:
private void Form1_Load(object sender, EventArgs e)
{
Picturebox1.Image=....
for(int i=0;i<10;i++)
{
uscontrol a=new uscontrol()
{
usimage=Image.Fromfile....
};
panel1.Controls.Add(a);
}
}
用户控制:
public Image usimage
{
get { return imagebox.Image; }
set { imagebox.Image = value; }
}
当我点击其中一个用户控件时,我怎么能这样做,它将该用户控件的图像传递给主窗体并在Picturebox1中显示,谢谢。
答案
首先,您需要将MouseClickEvent
添加到每个uscontrol
。要实现这一点,请将Form1_Load
编辑为此。
Picturebox1.Image=....
for(int i=0;i<10;i++)
{
uscontrol a=new uscontrol()
{
usimage=Image.Fromfile....
};
a.MouseClick += new MouseEventHandler(USControl_Clicked); //Note this added line
panel1.Controls.Add(a);
}
然后你需要将USControl_Clicked
添加到你的From1
代码中。
private void USControl_Clicked(object sender, MouseEventArgs e)
{
//Here we cast sender to your uscontrol class and access usimage
Picturebox1.Image = (sender as uscontrol).usimage;
}
以上是关于将图片从usercontrol传递到Form的主要内容,如果未能解决你的问题,请参考以下文章
C# 做的winform窗体程序把一个Form给为自定义控件?
将所有属性都传递到 UserControl 后,有没有办法对其进行初始化? [复制]
C# 重写UserControl和Form的CreateParams方法。。。求详解,并给下面的代码加详细注释。。。谢谢。。。