winform PictureBox图片上动态添加Label或其他控件
效果图:
代码:
- //分页或者多次加载时,需要删除之前产生的lable等控件
- for (int tabID = ; tabID < ; tabID++)
- {
- foreach (Control control in this.tableLayoutPanel2.Controls)
- {
- // 遍历所有TextBox...
- if (control is PictureBox)
- {
- PictureBox t = (PictureBox)control;
if (control.TabIndex == tabID)- {
- if (tabID > list.Count - )
- {
- for (int i = tabID; i < ; i++)
- {
- //this.tableLayoutPanel2.Controls.Remove(control);
- t.ImageLocation = null;
- t.Controls.Remove(t.Controls[tabID.ToString()]);
- string d = ("NO" + tabID.ToString());
- t.Controls.Remove(t.Controls[d]);
- t.Tag = -;
- }
- break;
- }
- t.ImageLocation = list[tabID].VehicleImage;
- t.Tag = (list[tabID].Id).ToString();
- string m = ("NO" + tabID.ToString());
- t.Controls.Remove(t.Controls[tabID.ToString()]);
- t.Controls.Remove(t.Controls[m]);
- Label C = new Label();
- C.Parent = t;
- C.Width = ;
- C.Text = list[tabID].VehicleNumber;
- C.Font = new Font("", );
- C.ForeColor = Color.Black;
- C.Dock = DockStyle.Top;
- C.BackColor = Color.Transparent;
- C.TextAlign = ContentAlignment.TopLeft;
- C.AutoSize = false;
- C.Name = "NO" + tabID.ToString();
- Label B = new Label();
- B.Parent = t;
- B.Width = ;
- B.Text = list[tabID].VehicleZT;
- B.Font = new Font("", );
- switch (list[tabID].VehicleZT) {
- case "待派":
- B.ForeColor = Color.Blue;
- break;
- case "已派":
- B.ForeColor = Color.Green;
- break;
- case "维修":
- B.ForeColor = Color.Yellow ;
- break;
- case "停驶":
- B.ForeColor = Color.Red;
- break;
- }
- B.Dock = DockStyle.Bottom;
- B.BackColor = Color.Transparent;
- B.TextAlign = ContentAlignment.BottomRight;
- B.AutoSize = false;
- B.Name = tabID.ToString();
- }
- }
- }
- }
winform PictureBox图片上动态添加Label或其他控件的更多相关文章
- (转载)VC/MFC 工具栏上动态添加组合框等控件的方法
引言 工具条作为大多数标准的Windows应用程序的 一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开 ...
- VC/MFC 工具栏上动态添加组合框等控件的方法
引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发 ...
- Android 在程序中动态添加 View 布局或控件
有时我们需要在程序中动态添加布局或控件等,下面用程序来展示一下相应的方法: 1.addView 添加View到布局容器 2.removeView 在布局容器中删掉已有的View 3.LayoutPar ...
- asp.net 动态添加多个用户控件
动态添加多个相同用户控件,并使每个用户控件获取不同的内容. 用户控件代码: 代码WebControls using System; using System.Collections.Generic; ...
- C#实现在图片上动态写内容
之前在项目上遇到这么一个需求,就是要在图片上写内容,而且要求是动态,我所谓的动态就是在图片上写的内容是动态的.网上找了找,很多人实现了网图片上写内容的功能,但是,并没有实现动态.所以在这里把我的解决办 ...
- winform窗体传值和动态添加控件
1.跳转窗体时传值 //将要显示的页面实例化 RoleMenuForm rmf = new RoleMenuForm(); try { //在此给RoleMenuForm 窗体中的变量roleId传值 ...
- vue组件上动态添加和删除属性
1.vue组件上动态添加和删除属性 // 添加 this.$set(this.obj, 'propName', val) // 删除 this.$delete(this.obj, 'propName' ...
- m_Orchestrate learning system---二十六、动态给封装好的控件添加属性
m_Orchestrate learning system---二十六.动态给封装好的控件添加属性 一.总结 一句话总结:比如我现在封装好了ueditor控件,我外部调用这个控件,因为要写数据到数据库 ...
- ASP.NET#在设计窗口上添加了一个SqlDataSource控件后,没有显示出来?
在设计窗口上添加了一个SqlDataSource控件后,没有显示出来,但后台代码是有的 处理的办法:菜单栏->视图->可视辅助->ASP.NET非可视控件 (我用的是VS2012)
随机推荐
- LTDC/DMA2D——液晶显示
1.显示器的基本参数 (1) 像素像素是组成图像的最基本单元要素,显示器的像素指它成像最小的点. (2) 分辨率一些嵌入式设备的显示器常常以“行像素值 x列像素值”表示屏幕的分辨率.如分辨率 800x ...
- 判断 js 类型的方式
1. typeof 可以判断出'string','number','boolean','undefined','symbol'但判断 typeof(null) 时值为 'object'; 判断数组和对 ...
- openstack 基镜像展开过程
- oracle的表分区
(1.) 表空间及分区表的概念 表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间. 分区表: 当表中的数据量不断增大,查询数据的速度就 ...
- oracle数据库的存储原理
表空间,oracle逻缉存储结构,表空间下包含一个或者多个物理的文件存储.所有用户对象存放在表空间中.与系统有关的对象存放在系统表空间中. 数据库的作用就是实现对数据的管理和查询.任何一个数据库系统, ...
- VMware与宿主机同一网段
将VMware做为一个物理的虚拟机,设置网段与宿主机在同一子网.
- AppCompatTextView可改变文本字体大小
有这样一个需求,要求在一个列表中的每个条目中展示字数不限个数的文本.而且每个条目的宽度都是固定的,展示的文本如果过长,不可以用省略号显示,只能动态的调整(缩小)文本的字号来达到文本能完全显示的效果,而 ...
- JavaScript中三个等号和两个等号的区别(“===”与“==”的区别)
1.===:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false. 例:100===“100” //返回f ...
- python方法未绑定错误
相信 Python 程序员多多少少都和我一样遇到过 Method Unbound Error,直译过来就是 “方法未绑定错误”,虽然搜索之后知道了使用 @classmethod 这样的装饰起后就可以解 ...
- Ubuntu 14.04 apache安装配置
http://jingyan.baidu.com/article/6d704a130c8a0d28da51ca5f.html Ubuntu 14.04 apache安装配置 1.安装 ~# apt-g ...