C# winform 自定义控件配置代码 多显示 换行
控件样式 1
控件名称:myRefueller
public myRefueller [] RefuellerS { get; set; }
/// <summary>/// 自定义控件加油机数量显示/// </summary>/// <param name="conut"></param>public void Control(List<OilEngine_OilGun> list){try{int qh = 1;int yj = 1;int nber = list.Count;//加油机数量//RefuellerS = new Control.Refueller1(nber);RefuellerS = new myRefueller[nber];//控件 if (nber > 7){for (int i = 0; i < 7; i++){myRefueller r1 = new myRefueller();r1.Name = "Jlj" + yj;r1.Font = new Font("宋体", 9, FontStyle.Regular); //宋体, 9pt;try{var getByWhere = db.Queryable<OilEngine_Oils>().Where(it => it.OilCode == list[i].OilCode).ToList();r1.lb_Oils.Text = getByWhere[0].OilName; //显示油品}catch (Exception){}r1.lb_Communication.Text = "通讯失败"; //通讯r1.lb_Communication.ForeColor = Color.Red;// Color.Lime; //通讯颜色r1.Size = new Size(253, 366);r1.Location = new Point(253 * i, 0);r1.Show();r1.panel1.Click += new EventHandler(r1_Click);skinTabPage3.Controls.Add(r1);RefuellerS[i] = r1;Console.WriteLine(r1.Name);}nber = nber - 7;if (nber > 0){for (int i = 0; i < nber; i++){myRefueller r1 = new myRefueller();r1.Name = "Jlj" + yj;r1.Font = new Font("宋体", 9, FontStyle.Regular); try{var getByWhere = db.Queryable<OilEngine_Oils>().Where(it => it.OilCode == list[7 + i].OilCode).ToList();r1.lb_Oils.Text = getByWhere[0].OilName; //显示油品}catch (Exception){}r1.lb_Communication.Text = "通讯失败"; //通讯r1.lb_Communication.ForeColor = Color.Red;// Color.Lime; //通讯颜色r1.Size = new Size(253, 366);r1.Location = new Point(253 * i, 366);r1.Show();r1.panel1.Click += new EventHandler(r1_Click);skinTabPage3.Controls.Add(r1);RefuellerS[i] = r1;Console.WriteLine(r1.Name);}}}else{for (int i = 0; i < nber; i++){myRefueller r1 = new myRefueller();r1.Name = "Jlj" + i;r1.Font = new Font("宋体", 9, FontStyle.Regular); try{var getByWhere = db.Queryable<OilEngine_Oils>().Where(it => it.OilCode == list[i].OilCode).ToList();r1.lb_Oils.Text = getByWhere[0].OilName; //显示油品}catch (Exception){}r1.lb_Communication.Text = "通讯失败"; //通讯r1.lb_Communication.ForeColor = Color.Red;// Color.Lime; //通讯颜色r1.Size = new Size(253, 366);r1.Location = new Point(253 * i, 0);r1.Show();r1.panel1.Click += new EventHandler(r1_Click);skinTabPage3.Controls.Add(r1);RefuellerS[i] = r1;Console.WriteLine(r1.Name);}}// TextShowClass.Log("加载自定控件!");}catch (Exception ex){MessageBox.Show(ex.Message);// TextShowClass.Log("加载自定控件!错误:" + ex.Message);}}
#region 自定义控件防止闪烁protected override CreateParams CreateParams{get{var parms = base.CreateParams;parms.Style &= ~0x02000000; // Turn off WS_CLIPCHILDRENreturn parms;}}#endregion
/// <summary>/// 绑定 控件点击事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void r1_Click(object sender, EventArgs e){try{// MessageBox.Show(((myRefueller)sender).panel1.Name);//控件名字}catch (Exception ex){Console.WriteLine(ex.Message);}}
效果图:
第二种 两种相同几乎
private void r1_Click(object sender, EventArgs e){//Control.Refueller1 r1 = new Control.Refueller1();//(((Control.Refueller1)sender).Tag as TextBox).Text = ((Control.Refueller1)sender).Name;//MessageBox.Show(((Control.Refueller1)sender).Name);try{((Control.Refueller1)sender).panel1.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian (1).png");((Control.Refueller1)sender).panel2.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian.png");((Control.Refueller1)sender).panel3.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian2.png");((Control.Refueller1)sender).panel4.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian3.png");}catch (Exception ex){Console.WriteLine(ex.Message);}}
public Control.Refueller1 [] RefuellerS { get; set; }/// <summary>/// 加油机控件/// /// </summary>public void Control(){try{int qh = 1;int yj = 1;int nber = Convert.ToInt32(Config.OilNumber);//RefuellerS = new Control.Refueller1(nber);RefuellerS = new Control.Refueller1[nber];if (nber > 9){for (int i = 0; i < 8; i++){Control.Refueller1 r1 = new Control.Refueller1();r1.Name = "Jlj" + yj;r1.label5.Text = yj++.ToString();if (Convert.ToUInt32(Config.Oil(yj)) <= 2){r1.label3.Visible = false;r1.label4.Visible = false;r1.panel3.Visible = false;r1.panel4.Visible = false;r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');}else{r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label3.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label4.Text = Convert.ToString(qh++).PadLeft(2, '0');}r1.Size = new Size(220, 281);r1.Location = new Point(220 * i, 0);r1.Show();r1.Click += new EventHandler(r1_Click);splitContainer1.Panel1.Controls.Add(r1);RefuellerS[i]= r1;Console.WriteLine(r1.Name);}nber = nber - 8;if (nber > 0){for (int i = 0; i < nber; i++){Control.Refueller1 r1 = new Control.Refueller1();r1.Name = "Jlj" + yj;r1.label5.Text = yj++.ToString();if (Convert.ToUInt32(Config.Oil(yj)) <= 2){r1.label3.Visible = false;r1.label4.Visible = false;r1.panel3.Visible = false;r1.panel4.Visible = false;r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');}else{r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label3.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label4.Text = Convert.ToString(qh++).PadLeft(2, '0');}r1.Size = new Size(220, 281);r1.Location = new Point(220 * i, 281);r1.Show();r1.Click += new EventHandler(r1_Click);splitContainer1.Panel1.Controls.Add(r1);RefuellerS[i] = r1;Console.WriteLine(r1.Name);}}}else{for (int i = 0; i < nber; i++){Control.Refueller1 r1 = new Control.Refueller1();r1.Name = "Jlj" + yj;r1.label5.Text = yj++.ToString();if (Convert.ToUInt32(Config.Oil(yj)) <= 2){r1.label3.Visible = false;r1.label4.Visible = false;r1.panel3.Visible = false;r1.panel4.Visible = false;r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');}else{r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label3.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');r1.label4.Text = Convert.ToString(qh++).PadLeft(2, '0');}r1.Size = new Size(220, 281);r1.Location = new Point(220 * i, 0);r1.Show();r1.Click += new EventHandler(r1_Click);splitContainer1.Panel1.Controls.Add(r1);RefuellerS[i] = r1;Console.WriteLine(r1.Name);}}TextShowClass.Log("加载自定控件!");}catch (Exception ex){MessageBox.Show(ex.Message);TextShowClass.Log("加载自定控件!错误:"+ ex.Message);}}
C# winform 自定义控件配置代码 多显示 换行相关推荐
- 解决vscode格式化代码html属性换行问题; ctrl+s格式化去除分号,格式化自动单引号;解决js格式化换行问题;mac上的settings.json完整配置
右键格式化文档或者ctrl + s保存 html不换行 1.安装两个插件①vetur ②Prettier - Code formatter 2.在vetur的settings.json中设置 配置ct ...
- (一)c#Winform自定义控件-基类控件-HZHControls
官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...
- (三十二)c#Winform自定义控件-表格
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- C# WINFORM 中 多行TEXTBOX的换行
原文地址为: C# WINFORM 中 多行TEXTBOX的换行 要让一个Windows Form的 TextBox显示多行文本就得把它的Multiline属性设置为true. 这个大家都知道,可是当 ...
- Vue+Openlayers+el-checkbox实现多选配置图层的显示和隐藏
场景 Vue+Openlayers实现地图上绘制线: Vue+Openlayers实现地图上绘制线_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面实现加载多个图层的基础上,可以实现 ...
- (winform)在一个form里面显示google地图
一个windows form,里面显示google地图,可以放大,缩小,拖动操作,最好有代码例子!对webbrowser控件的使用不是很熟练. 回复:(winform)在一个form里面显示googl ...
- thinkphp 关联模型配置代码
原文:thinkphp 关联模型配置代码 <?php /*** 公司与部门关联模型*/ class CompanyRelationModel extends RelationModel{//主表 ...
- [WPF自定义控件库] 自定义控件的代码如何与ControlTemplate交互
[WPF自定义控件库] 自定义控件的代码如何与ControlTemplate交互 原文:[WPF自定义控件库] 自定义控件的代码如何与ControlTemplate交互 1. 前言 WPF有一个灵活的 ...
- 微信php echo换行,微信小程序文字显示换行问题
微信小程序文字显示换行问题 小程序文字显示换行 问题 用户在上传图文时,输入换行符.导致我在拿到数据后JSON.parse的时候报错. 大概这样的结构: [{ text:'落魄前端 在线炒粉!!!' ...
- 007 - 配置 Clion 调试显示 Qt 变量
配置 Clion 调试显示 Qt 变量 文章目录 配置 Clion 调试显示 Qt 变量 引言 尝试解决 配置 Lekensteyn's qt5printers KDevelop formatters ...
最新文章
- 软件测试培训:如何搭建测试环境
- 《Adobe After Effects CC经典教程》——导读
- 我把SpringBoot项目从18.18M瘦身到0.18M,部署起来真省事!
- NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器
- python搜题软件-智慧职教mooc的APPPython程序设计基础章节测验答案
- MyBatis】MyBatis一级缓存和二级缓存
- 我国共招过多少博士?多少硕士?数据来了!
- java 调用wget_通过命令行执行WGET下载会更快,而通过Java代码执行时会更慢
- idea 填充变量类型_填充IntelliJ IDEA项目
- 数据结构上机实践第14周项目2 - 二叉树排序树中查找的路径
- 2018年香港访港旅客超6500万人次 创16年新高
- 云计算将成电子政务最大亮点
- 《大型多人在线游戏开发》读书笔记
- TensorFlow-gpu安装和测试(TensorFlow-gpu1.14+Cuda10)
- android数据格式化,手机格式化了?教你找回安卓手机数据
- 关于我在刷题时用OJ判题发现的cout相较于printf严重超时的问题
- Cookie--防劫持的处理
- java 邮件收发_java中javamail收发邮件实现方法
- Vue 中使用 axios 传输数据,当数据量过大时会提示跨域?(√已解决)
- 微型计算机接口技术论文,(微机原理与接口技术课程论文.doc