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了.而且控件可以通 ...
随机推荐
- XE6移动开发环境搭建之IOS篇(9):配置XE6的IOS SDK(有图有真相)
网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.开启PAServ ...
- 创建线程方式-NSOperation
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Linux下的shell编程(一)BY 四喜三顺
Ctrl + Alt + Tvim文本编辑器:i(插入模式),v(可视模式),Esc(普通模式),:w(保存),:r(打开),:q(退出)gvim 文本编辑器vim的升级版gedit 更常用的文本编辑 ...
- 在c中保存状态
1. 注册表 注册表是一个普通的table,我们可以将c函数中需要保存的状态都存储在注册表中,注册表是可以被多个c模块共享的. 由于注册表是一个普通table,我们同样可以在栈中对其进行操作,只是这个 ...
- PIC32MZ tutorial -- Blinky LED
Today I finish the "Blinky LED" application on PIC32MZ starter kit. This application let L ...
- 退出系统时跳出frame框架
传统的系统界面,有iframe页面,当用户退出系统或者session过期或者非法请求时,都要使当前页面跳转到登录页面.比如用户点击注销的按钮在上面得top.jsp里面,方法:<a href=&q ...
- PHP的轻量消息队列php-resque使用说明
日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可. 消息队列处理后台任务带来的问题 项目中经常会有后台运行任务的需求,比如发送邮件时,因为要 ...
- Spring 4集成 Quartz2(转)
本文将演示如何通过 Spring 使用 Quartz Scheduler 进行任务调度.Spring 为简化 Quartz 的操作提供了相关支持类.本文示例使用的相关工具如下: Spring 4.2. ...
- BackgroundWorker控件
在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...
- php.ini 不生效问题extension
date.timezone = PRC extension_dir = "ext"