WinForm动态添加控件及其事件(转)
出处:http://blog.sina.com.cn/s/blog_60d576800100tf61.html
1 private void PhotoForm_Load(object sender, System.EventArgs e)
2 {
3 this.LoadPhoto();
4 }
5 private void LoadPhoto()
6 {
7 int i= 0;
8 string url = this.GetUrl();
9 string[] sFiles = System.IO.Directory.GetFiles(url+"\\images\\small\\","*.*");
10 for(i=0;i<sFiles.Length;i++)
11 {
12 this.ViewPhoto(i,sFiles[i].ToString());
13 }
14 }
15 /// <summary>
16 /// 取项目路径
17 /// </summary>
18 /// <returns></returns>
19 private string GetUrl()
20 {
21 string b = Application.StartupPath;
22 int i = b.LastIndexOf("\\");
23 b = b.Substring(0,i);
24 int j = b.LastIndexOf("\\");
25 b = b.Substring(0,j+1);
26 return b;
27 }
28 /// <summary>
29 /// 加载图片控件
30 /// </summary>
31 /// <param name="i">图片序号</param>
32 /// <param name="filePath">文件名</param>
33 private void ViewPhoto(int i,string filePath)
34 {
35 string name="";
36 name = "image_"+i.ToString();
37 PictureBox pb = new PictureBox();
38 pb.Name = name;
39 pb.Image=System.Drawing.Image.FromFile(filePath);
40 //保存文件名
41 pb.Tag = filePath;
42 this.Controls.Add(pb);
43 pb.Width=128;
44 pb.Height =96;
45 pb.Location = new Point(x,y);
46 x=x+230;
47 if((i+1)%4==0 && i!=0)
48 {
49 x=100;
50 y=y+120;
51 }
52 //添加事件
53 pb.Click += new System.EventHandler(picture_Click);
54
55 }
56 private void picture_Click(object sender, System.EventArgs e)
57 {
58 PictureBox pb = (PictureBox)sender;
59 string name = pb.Name;
60 string path = pb.Tag.ToString();
61 }
WinForm动态添加控件及其事件(转)的更多相关文章
- winform 动态添加控件及事件
for (int i = 0; i < 4; i++) { Button btn = new Button(); //btn.Name = dt.Rows[i]["ANDON_CONT ...
- WinForm中动态添加控件 出现事件混乱,解决办法记录。
还是在抢票软件中出的问题,我没点击一个联系人,要生成一排控件,其中有席别combobox这样的下拉框控件,会出现如下图所示的问题:问题描述:在代码中动态创建的控件,事件混乱了,一个控件触发了所有同类型 ...
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
- asp.net动态添加控件学习
看了老师的教程后,自己一点感悟记录下来: 1.在页面提交后,动态生成的控件会丢失, 但如果生成控件的代码在pageload中,就可以,原理是每次生成页面都执行生成. 2.动态按件或页面原来控件, 在页 ...
- 怎样在不对控件类型进行硬编码的情况下在 C#vs 中动态添加控件
文章ID: 815780 最近更新: 2004-1-12 这篇文章中的信息适用于: Microsoft Visual C# .NET 2003 标准版 Microsoft Visual C# .NET ...
- Android 在布局容器中动态添加控件
这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉 ...
- VC中动态添加控件
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个 ...
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
博客分类: jquery-easyui jQueryAjax框架HTML 现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...
- WPF:理解ContentControl——动态添加控件和查找控件
WPF:理解ContentControl--动态添加控件和查找控件 我认为WPF的核心改变之一就是控件模型发生了重要的变化,大的方面说,现在窗口中的控件(大部分)都没有独立的Hwnd了.而且控件可以通 ...
随机推荐
- Intel汇编语言程序设计学习笔记1
第一章 汇编器链接器:汇编器将汇编语言翻译成机器语言,链接器将单个文件合并为可执行文件 intel 80X86系列处理器的汇编语言与VAX或者motorala 68x00等系统的汇编是否相同?不相同, ...
- unity3d c#脚本定义Transform
Transform n = Instantiate(newobject,transform.position,transform.rotation) as Transform;Instantiate返 ...
- C#字符操作
//字符串转ASCII码 // str1:字符串 str2:ASCII码 ] })[] == )//判断输入是否为字母 { str2= Encoding.GetEncoding(].ToString( ...
- 67. Container With Most Water
Container With Most Water Given n non-negative integers a1, a2, ..., an, where each represents a poi ...
- [转]CABasicAnimation用法
CABasicAnimation用法 CABasicAnimation 自己只有三个property fromValue toValue ByValue 当你创建一个 CABasicAni ...
- 模块化InnoSetup依赖项安装
原文在这里:http://www.codeproject.com/Articles/20868/NET-Framework-Installer-for-InnoSetup 源文件地址:http://w ...
- JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { ...
- java学习第9天
形式参数和返回值的问题 (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的是该类的子类 ...
- JavaScript入门
本篇内容是学习慕课网相关课程后,总结出可能未来会忘记的内容 (一)JavaScript入门操作 1.js代码插入位置,以及执行顺序 <head> <script type=" ...
- 一天天的sql总结
一. 多张表之间的查询: join/inner join on inner join 是比较运算符,只返回符合条件的行. left/outer join on 左外连接包含left join左表所有 ...