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了.而且控件可以通 ...
随机推荐
- ASP.NET Web API之消息[拦截]处理
标题相当难取,内容也许和您想的不一样,而且网上已经有很多这方面的资料了,我不过是在实践过程中作下记录.废话少说,直接开始. Exception 当服务端抛出未处理异常时,most exceptions ...
- C#如何打开DBF数据库文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- TCP协议总结--停止等待协议,连续ARQ协议,滑动窗口协议
前言:在学习tcp三次握手的过程之中,由于一直无法解释tcpdump命令抓的包中seq和ack的含义,就将tcp协议往深入的了解了一下,了解到了几个协议,做一个小结. 先来看看我的问题: 这是用tcp ...
- Spring项目解决Post乱码
Java EE解决Post乱码:在web.xml中加入: <filter> <filter-name>encodingFilter</filter-name> &l ...
- c++学习笔记——构造函数
构造函数定义:每个类都分别定义了它的对象被初始化的方式,类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数叫做构造函数. 需要注意的几点: 1:构造函数不能被声明为const的,当我们创 ...
- android_Activity之Button_OnClickListener
今天我们要讲的主要是四大组件之一Activity 什么是Android 的四大组件呢?接下来简单了解下. 1.Activity Activity就是我们应用程序的界面,主要用来跟我们的用户进行交互的 ...
- ORACLE 数据的逻辑组成
数据块(block) Oracle数据块(Data Block)是一组连续的操作系统块.分配数据库块大小是在Oracle数据库创建时设置的,数据块是Oracle读写的基本单位.数据块的大小一般是操作系 ...
- LeetCode:Longest Palindromic Substring 最长回文子串
题目链接 Given a string S, find the longest palindromic substring in S. You may assume that the maximum ...
- 初识ASP.NET CORE:三、Middleware
Middleware are simpler than HTTP modules and handlers:Modules, handlers, Global.asax.cs, Web.config ...
- 一个简单的SNTP客户端
借鉴于python网络编程攻略 #/usr/local/bin/python3.5 #coding:utf-8 import socket, struct, time NTP_server = &qu ...