读书人

自定义控件里面的控件事件获取有关问题

发布时间: 2012-08-11 20:50:31 作者: rapoo

自定义控件里面的控件事件获取问题
有一个自定义控件
UserContr
里面有个ADD方法
public void Add(string name)
{
picturebox pic = new picturebox();
pic .name = name;
pic.Click += picturebox_click;
}

public void picturebox_click(object sender,EventArgs e)
{
string name = ((picturebox)sender).name;
}
还有一个Form窗体
里面加载这个自定义控件,我想在Form获取picturebox的Click事件,这个事件应该是自定义控件picturebox的共同的事件。
FormLoad()
{
UserContr1.Add("1");
UserContr1.Add("2");
//我这样加就报错了
UserContr1.picturebox_click +=picturebox_click;
}
public void picturebox_click(object sender,EventArgs e)
{
string name = ((picturebox)sender).name;
}
提示是 picturebox_click 一个“方法组”, 无法为它赋值


[解决办法]
你可以自定义事件啊
[解决办法]
UserContr1.picturebox_click +=new System.EventHandler(picturebox_click);

[解决办法]

C# code
using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsApplication1{    public partial class UserControl1 : UserControl    {        public event EventHandler PicClick;        public UserControl1()        {            InitializeComponent();        }                public void Add(string name)        {            PictureBox pic = new PictureBox();            pic.Name = name;            pic.Parent = this;            pic.Dock = DockStyle.Fill;            pic.Click += picturebox_click;        }        public void picturebox_click(object sender, EventArgs e)        {            string name = ((PictureBox)sender).Name;            if (PicClick != null)            {                PicClick(sender, e);            }        }    }} 

读书人网 >C#

热点推荐