WinForm动态添加控件及其事件(转)

出处:http://blog.sina.com.cn/s/blog_60d576800100tf61.html

1WinForm动态添加控件及其事件        private void PhotoForm_Load(object sender, System.EventArgs e)
 2WinForm动态添加控件及其事件        {
 3WinForm动态添加控件及其事件            this.LoadPhoto();
 4WinForm动态添加控件及其事件        }
 5WinForm动态添加控件及其事件        private void LoadPhoto()
 6WinForm动态添加控件及其事件        {
 7WinForm动态添加控件及其事件            int  i= 0;
 8WinForm动态添加控件及其事件            string url = this.GetUrl();
 9WinForm动态添加控件及其事件            string[] sFiles = System.IO.Directory.GetFiles(url+"\images\small\","*.*");
10WinForm动态添加控件及其事件            for(i=0;i<sFiles.Length;i++)
11WinForm动态添加控件及其事件            {
12WinForm动态添加控件及其事件                this.ViewPhoto(i,sFiles[i].ToString());
13WinForm动态添加控件及其事件            }
14WinForm动态添加控件及其事件        }
15WinForm动态添加控件及其事件        /// <summary>
16WinForm动态添加控件及其事件        /// 取项目路径
17WinForm动态添加控件及其事件        /// </summary>
18WinForm动态添加控件及其事件        /// <returns></returns>
19WinForm动态添加控件及其事件        private string GetUrl()
20WinForm动态添加控件及其事件        {
21WinForm动态添加控件及其事件            string b = Application.StartupPath;
22WinForm动态添加控件及其事件            int i = b.LastIndexOf("\");
23WinForm动态添加控件及其事件            b = b.Substring(0,i);
24WinForm动态添加控件及其事件            int j = b.LastIndexOf("\");
25WinForm动态添加控件及其事件            b = b.Substring(0,j+1);
26WinForm动态添加控件及其事件            return b; 
27WinForm动态添加控件及其事件        }
28WinForm动态添加控件及其事件        /// <summary>
29WinForm动态添加控件及其事件        /// 加载图片控件
30WinForm动态添加控件及其事件        /// </summary>
31WinForm动态添加控件及其事件        /// <param name="i">图片序号</param>
32WinForm动态添加控件及其事件        /// <param name="filePath">文件名</param>
33WinForm动态添加控件及其事件        private void ViewPhoto(int i,string filePath)
34WinForm动态添加控件及其事件        {
35WinForm动态添加控件及其事件            string name="";
36WinForm动态添加控件及其事件            name = "image_"+i.ToString();
37WinForm动态添加控件及其事件            PictureBox pb = new PictureBox();
38WinForm动态添加控件及其事件            pb.Name = name;
39WinForm动态添加控件及其事件            pb.Image=System.Drawing.Image.FromFile(filePath);
40WinForm动态添加控件及其事件            //保存文件名
41WinForm动态添加控件及其事件            pb.Tag = filePath;
42WinForm动态添加控件及其事件            this.Controls.Add(pb);
43WinForm动态添加控件及其事件            pb.Width=128;
44WinForm动态添加控件及其事件            pb.Height =96;
45WinForm动态添加控件及其事件            pb.Location = new Point(x,y);
46WinForm动态添加控件及其事件            x=x+230;
47WinForm动态添加控件及其事件            if((i+1)%4==0 && i!=0)
48WinForm动态添加控件及其事件            {
49WinForm动态添加控件及其事件                x=100;
50WinForm动态添加控件及其事件                y=y+120;
51WinForm动态添加控件及其事件            }
52WinForm动态添加控件及其事件            //添加事件
53WinForm动态添加控件及其事件            pb.Click += new System.EventHandler(picture_Click);
54WinForm动态添加控件及其事件
55WinForm动态添加控件及其事件        }    
56WinForm动态添加控件及其事件        private void picture_Click(object sender, System.EventArgs e)
57WinForm动态添加控件及其事件        {
58WinForm动态添加控件及其事件            PictureBox pb = (PictureBox)sender;
59WinForm动态添加控件及其事件            string name = pb.Name;
60WinForm动态添加控件及其事件            string path = pb.Tag.ToString();
61WinForm动态添加控件及其事件        }

原文地址:https://www.cnblogs.com/smileberry/p/4561679.html