winform开发心得

article/2025/8/21 20:59:53

        最近一直在从事winform的开发,每次都是需要从网上查找资料才能对应具体风格要求,现在总结一下。

        ui方面可以使用CSkin对应的一套ui,使用步骤

        1.在窗口界面,工具箱空白处点击右键,弹出菜单有个”选择项“,点击之后,浏览对应的dll文件加载确认之后,对应的控件就会在工具箱中出现,接下来的操作就和普通控件一样拖动就可以使用。

        2.思路,winform界面开发,对应的弹出框,我们可以把父窗口对象直接传给需要的子对象,子对象在关闭或者调用接口时,直接使用父对象的方法。

        3.Gridview的一些操作:

                1.获取选择行数据转换成对象:this.configGrid.CurrentRow.DataBoundItem as WorkspaceBeanConfig;

                2.grid在绑定对象的时候会显示对象所有的字段,使用 configGrid.AutoGenerateColumns = false;可以显示只有绑定到表单中的字段。

        4.首先grid绑定字段如下图所示:

        

 

        grid多选对应的代码:

 #region 列表勾选private void textGridView_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e){if (e.ColumnIndex == 0){configGrid.ClearSelection();if (configGrid.Rows.Count == 0)return;configGrid.CurrentCell = configGrid[1, 0];//如果没有这句代码,如果复选框列有某个单元格获得焦点时,虽然全选,但是此单元格依然不能选中 这句话的意思就是把焦点移出去if (ck.HeaderText == " □"){for (int i = 0; i < configGrid.RowCount; i++){configGrid.Rows[i].Cells[0].Value = true;}ck.HeaderText = " √";}else{for (int i = 0; i < configGrid.RowCount; i++){configGrid.Rows[i].Cells[0].Value = false;}ck.HeaderText = " □";}}}private void textGridView_CellContentClick(object sender, DataGridViewCellEventArgs e){if (e.ColumnIndex == 0 && e.RowIndex != -1){int sum = 0;for (int i = 0; i < configGrid.RowCount; i++){//必须使用这个属性 EditedFormattedValue 这个属性也是关键 这里不用value是因为不是实时的数据if ((bool)configGrid.Rows[i].Cells[0].EditedFormattedValue){sum++;}}if (sum == configGrid.RowCount){ck.HeaderText = " √";}else{ck.HeaderText = " □";}}}#endregion

这是要grid要实现的两个方法。对应对象最好时包含iChecked属性,后期查询方便很多。

        

5.combox的一些基础方法:

        

            classfyDatas.Add(new specialty() { Code = "", Name = "请选择级别" });classfyDatas.Add(new specialty() { Code = "2", Name = "公司级" });classfyDatas.Add(new specialty() { Code = "3", Name = "项目级" });skinComboBox1.DataSource = classfyDatas;skinComboBox1.ValueMember = "Code";skinComboBox1.DisplayMember = "Name";

6.listview的tooltip

        private ToolTip toolTip = new ToolTip();private Point pointView = new Point(0, 0);//鼠标位置 外部存储变量private void listView1_MouseMove(object sender, MouseEventArgs e){ListViewItem lv = this.listView1.GetItemAt(e.X, e.Y);if (lv != null){if (pointView.X != e.X || pointView.Y != e.Y)//比较当前位置和上一次鼠标的位置是否相同,防止tooltip因MouseMove事件不停刷新造成的闪烁问题,{//toolTip.SetToolTip(listView1, "双击进入 " + lv.SubItems[0].Text);toolTip.Show(lv.SubItems[0].Text, listView1, new Point(e.X, e.Y), 1000);pointView.X = e.X;pointView.Y = e.Y;toolTip.Active = true;}}else{toolTip.Hide(listView1);//当鼠标位置无listviewitem时,自动隐藏tooltippointView = new Point(e.X, e.Y);//存储本次的鼠标位置,为下次得位置比较准备}}


http://chatgpt.dhexx.cn/article/X2QKtZCt.shtml

相关文章

C# WinForm开发

文章目录 C# WinForm开发1.创建C# WinForm项目a.进入项目界面b.项目结构c.自定义一个Form 2.给控件添加事件3.显示时间小项目4.控件5.几种布局a.FlowLayoutPanel 流式布局b.TableLayoutPanel 表格布局c.可以自定义控件 6.文本框7.CheckBox 复选框8.其他的一些控件9.资源文件10.…

手把手教你新建一个winform项目(史上最全)

文章目录 前言&#xff1a;第1步、打开Microsoft Visual Studio&#xff08;简称vs&#xff09;&#xff0c;本人这里使用的是Visual Studio 2017 专业版&#xff0c;如下图&#xff1a;1.2 Visual Studio Community 2019下载1.3 Visual Studio Community 2019 安装 第2步、点击…

C# Winform开发教程

目录 1.创建新的Winform工程 2.窗体编辑 2.1 主窗口 2.2 工具箱 3.工具开发 3.1 一些通用属性 3.2 Label 3.3 Button 3.4 CheckBox 3.5 ComboBox 3.6 TreeView 3.7 ContextMenuStrip 3.8 BackgroundWorker 3.9 ProgressBar 3.10 TextBox 3.11 Timer 3.12 Data…

Winform开发技术详解 - 应用环境 相关技术介绍

随着时间的推移&#xff0c;Winform也算是能够坚持下来最久的技术之一了&#xff0c;它的昔日辉煌和现今的依旧活跃&#xff0c;导致了它依旧拥有者很庞大的用户群体&#xff0c;虽然目前很多技术日新月异的&#xff0c;曾经的ASP、ASP.NET WebForm、Asp.NET MVC、WPF等技术基本…

winform开发

winform简介 winform是.Net开发平台中对Windows Form的简称&#xff0c;基于.Net Framework平台 的客户端开发技术&#xff0c;一般使用c#编程。 Windows风格的控件&#xff0c;以及时间&#xff0c;直接使用&#xff0c;开发快速 Windows form&#xff1a;Windows窗体 Window…

实时数据库数据采集接口API八爪鱼采集接口

实时数据库数据采集接口是针对国内外各种实时数据库系统(PI、IP21等)和DCS、PLC等数据源之间的进行实时数据通讯的工具。 主要包含IOServer服务器和IOClient客户端两个部分&#xff1a; IO Server运行在实时数据库服务器上&#xff0c;主要功能是把数据库的位号信息和数据请求…

07_Hudi案例实战、Flink CDC 实时数据采集、Presto、FineBI 报表可视化等

7.第七章 Hudi案例实战 7.1 案例架构 7.2 业务数据 7.2.1 客户信息表 7.2.2 客户意向表 7.2.3 客户线索表 7.2.4 线索申诉表 7.2.5 客户访问咨询记录表 7.3 Flink CDC 实时数据采集 7.3.1 开启MySQL binlog 7.3.2 环境准备 7.3.3 实时采集数据 7.3.3.1 客户信息表 7.3.3.2 客户…

实时数仓项目-实时数据采集

文章目录 第1章 实时需求概览1.1 实时需求与离线需求的比较1.2 数仓架构设计1.2.1 离线image-202101201154530071.2.2 实时 1.3 本项目主要需求1.3.1 当日用户首次登录&#xff08;日活&#xff09;分时趋势图&#xff0c;昨日对比1.3.2 当日新增付费用户(首单)分析(odsdwd)1.3…

源码分析 Sentinel 实时数据采集实现原理

本篇将重点关注 Sentienl 实时数据收集&#xff0c;即 Sentienl 具体是如何收集调用信息&#xff0c;以此来判断是否需要触发限流或熔断。 本节目录 1、源码分析 StatisticSlot1.1 StatisticSlot entry 详解1.2 StatisticSlot exit 详解 2、Sentienl Node 体系2、StatisticNod…

ISYSTEM调试实践10-实时数据采集工具daqIDEA

本文介绍一种实时数据采集的工具daqIDEA&#xff0c;该软件整合在了winIDEA内&#xff0c;可以直接通过winIDEA启动。 daqIDEA类似于jlink的jscop&#xff0c;stlink也有类似功能。原理就是利用仿真探头&#xff0c;将程序运行的变量实时采集出来&#xff0c;并通过曲线的方式显…

基于组态王6.55的实时数据采集助手V1.0

采集助手V1.0使用说明采集助手V1.0是基于北京亚控科技的组态王6.55开发的&#xff0c;用于对带485通讯功能的流量计、电能表等智能仪表的实时数据进行采集的程序&#xff0c;可将采集到的数据记录为xls电子表格形式&#xff0c;用于后期分析。 一、主要功能&#xff1a; 1、采…

如何使实时数据采集处理系统保持数据的高速传输

如何使实时数据采集处理系统保持数据的高速传输 1引言 当前&#xff0c;越来越多的设计应用领域要求具有高精度的A&#xff0f;D转换和实时处理功能。在实时数据采集处理系统设计中&#xff0c;一般需要考虑数据采集以及对采集数据的处理。而对于大数据量的实时数据采集处理系…

「山东城商行联盟数据库准实时数据采集系统」入选2021中国大数据应用样板案例

12月17日&#xff0c;由中国信息协会大数据分会主办的“2021中国大数据技术应用大会”在北京圆满落幕。来自中国信息协会、中国工程院、国家信息中心、中国软件评测中心、中国金融认证中心等的权威专家、知名企业代表出席本次大会&#xff0c;对大数据的需求、应用和产业发展进…

实时数据采集无压力,网络抓取基础架构全程保障

作为一位爬虫工程师&#xff0c;网络抓取是我在日常工作中的重要任务之一。在当今信息爆炸的时代&#xff0c;实时数据的价值愈发显著。对于企业和个人来说&#xff0c;准确及时地获取最新的数据信息&#xff0c;能够帮助做出更明智的决策&#xff0c;抓住商机&#xff0c;甚至…

BET365的websocket实时数据采集分析

BET365网站websocket实时数据采集分析 ** 前语&#xff1a; ** 本文仅用于交流学习&#xff0c;请勿用于非法用途&#xff0c;后果自负&#xff01; bet365是全球顶尖的涵盖足球篮球等各项赛事的赛事信息提供网站以及博彩网站。为啥要去爬这个网站呢&#xff1f;因为它赛事…

数据采集工具 -- Flume

1、Flume的定义 Flume由Cloudera公司开发&#xff0c;是一个分布式、高可靠、高可用的海量日志采集、聚合、传输的系统。Flume支持在日志系统中定制各类数据发送方&#xff0c;用于采集数据&#xff1b;Flume提供对数据进行简单处理&#xff0c;并写到各种数据接收方的能力。简…

PLC实时数据采集如何实现?

数据采集传输对于后续企业进行分析和决策是十分重要的&#xff0c;而实时数据采集更能提升整体生产的认识度&#xff0c;从而采取到更加及时高效的措施。因此PLC实时数据采集成为企业的基础应用&#xff0c;那么如何实现PLC的实时数据采集呢&#xff1f; 1、协议解析 协议解析…

实时数仓-数据采集层_1

实时数仓-数据采集层_1 一、实时数仓介绍1、普通实时计算与实时数仓比较2、实时电商数仓项目分层 二、实时需求概述1、离线计算与实时计算的比较2、实时需求种类2.1、日常统计报表或分析图中需要包含当日部分2.2、实时数据大屏监控2.3、数据预警或提示2.4、实时推荐系统 三、统…

低成本,高效率,更成熟的实时数据采集方案来了

现在&#xff0c;科技的发展正在飞速影响着各行各业的生产模式。其中物联网作为新技术载体&#xff0c;正在帮助各行业极大地释放数字化、智能化的空间。 物联网将信息网络连接和服务的对象从人扩展到物&#xff0c;让物流、金融、城市管理、能源勘探、工业制造等等领域复杂的业…

项目一实时数仓数据采集

目录 1. 项目介绍 1.1项目背景 1.2项目需求 1.3目标 1.4 二次开发 2. 项目部署 2.1业务数据采集 2.2 导入脚本编写和测试 2.3内容数据采集 2.3.1说明&#xff1a; 2.3.3 配置管理中心 2.3.4 注册域名 2.4 日志数据采集 2.4.1 nginx服务器的搭建 2.4.2 启动nginx&am…