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)
随机推荐
- hwclock和date源码分析
一. hwclock 1.1 hwclock源码在哪里? util-linux 或者busybox 1.2 获取源码 git clone https://github.com/karelzak/uti ...
- Android资源文件命名规范学习手册
[推荐] 资源文件需带模块前缀.[推荐] layout 文件的命名方式. Activity 的 layout 以 module_activity 开头 Fragment 的 layout 以 modu ...
- RabbitMQ 3.7.X集群:从入门到精通,这一篇就够了
RabbitMQ是流行的开源消息队列系统,本身已经具备了较强的并发处理速度及运行稳定性,然而在大规模的实际应用中,往往还需要使用集群配置来保证系统中消息通信部分的高可用性,并发处理性能及异常恢复能力. ...
- 002-创建型-05-原型模式(Protype)
一.概述 指原型实例指定创建对象的种类,并通过克隆这些原型创建新的对象 原型模式就是让类实现Cloneable接口,达到克隆原型类的方式. 1.1.适用场景 1.在创建对象的时候,我们不只是希望被创建 ...
- unique_ptr智能指针
一.VS例子 // Test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <thread> #includ ...
- 看看BeginInvoke的用法,亲爱的们
看看它是杂带参数的哈 using System; using System.Threading; class MyTest { delegate bool deleTest(string a,stri ...
- vs2012编译的程序不能在XP和2003下执行问题的解决方法
问题如题,通过无数次百度和谷歌后,发现,微软已经确认这是一个缺陷,安装Vs2012的update 3的升级包就可以解决问题.同时,在分发包的地方,vcredist_x86.exe 随程序分发一份就可以 ...
- ubuntu18.04 server配置静态ip,新的网络工具netplan的使用方法【转:http://forum.ubuntu.org.cn/viewtopic.php?t=487463】
最新发布的ubuntu18.04 server,启用了新的网络工具netplan,对于命令行配置网络参数跟之前的版本有比较大的差别,现在介绍如下:1.其网络配置文件是放在/etc/netplan/50 ...
- 《CNCF × Alibaba云原生技术公开课》知识点自测(一):第一堂“云原生”课
(单选)1.容器启动后,我会时常 SSH 进入到容器里然后写很多文件.请问这破坏了云原生理念了吗? A. 否 B. 是 (单选)2.云原生架构必须选型 Kubernetes 方案. A. 否 B ...
- LVS+KeepAlived+Nginx高可用实现方案
文章目录概念LVSKeepAlived为什么要使用准备软件安装KeepAlived 安装源码安装yum安装服务启动.重启.关闭安装ipvsadmnginx安装防火墙(iptables)防火墙配置(方式 ...