.NET
刘欣的博客
深耕SAP技术领域20年,一直为企业的ERP-SAP系统保驾护航。
熟悉制造企业PLM、DMS、MES、LES、SRM等各业务域系统及业务。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C# WinForm 功能代码备忘-刘欣
日志记录处理 //日志处理(1/4) public static StreamWriter sw = new StreamWriter("SAPsenderlog.txt", true, Encoding.GetEncoding("gb2312")); public void ps(ListBox box,string s) { ...原创 2019-12-18 14:25:59 · 648 阅读 · 1 评论
-
C# LINQ 语法备忘-刘欣
//模糊查询、时间段查询、查询后数据分页和排序// 模糊查询、时间段查询、查询后数据分页和排序// 1. 查询和条件 JKEntities1 db = new JKEntities1(); var allpages = from c in db.JK_MOM_MileStoneReport ...原创 2019-07-08 13:11:09 · 489 阅读 · 0 评论
-
C# 从API接口获取对象而不用先定义对象类
摘要:文章介绍了使用dynamic动态对象处理JSON数据的方法,无需预先定义类结构,直接反序列化JSON字符串即可访问属性,提高了开发效率。示例展示了如何用JsonConvert.DeserializeObject<dynamic>解析嵌套JSON对象。作者还探讨了将EF Core的DBContext直接用于WinForm前端程序的可行性,寻求更高效的数据处理方案。原创 2025-11-19 11:33:57 · 244 阅读 · 0 评论 -
Winform VS2022 .net框架打包成单个文件
文章摘要:将.NET应用发布为单文件的方法:1.选择发布为单文件;2.在配置文件中添加<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>选项;3.发布后即可获得干净的单个可执行程序,无需依赖其他文件。这种方法简化了部署流程,便于程序分发。原创 2025-09-16 15:57:52 · 299 阅读 · 0 评论 -
关于物料采购合同,付款规则库的程序设计(刘欣)
博主需要开发一个合同管理系统,用于验证主机厂与供应商的配件合同执行情况。系统需处理阶梯价格等复杂条款,并兼容Excel原有字段和计算方式。目前面临合同规则库的设计难题,希望借鉴类似超级BOM但不完全相同的逻辑方案。博主寻求优快云网友关于如何构建合同规则库并将其程序化的解决方案。原创 2025-09-07 19:23:07 · 265 阅读 · 0 评论 -
C# WinForm中提供webapi服务
本文介绍了如何在WinForm程序中搭建WebAPI服务,实现与明道云的数据交互。主要步骤包括:1)通过Microsoft.Owin包搭建WebAPI服务;2)创建QueryController处理请求;3)使用Flurl.Http访问明道云API获取数据;4)对工单数据进行处理分析,计算处理人积分并返回结果。程序实现了从本地API调用第三方服务、数据处理和结果返回的全流程,为系统集成提供了解决方案。原创 2025-08-28 08:50:14 · 634 阅读 · 0 评论 -
自己的SAPGUI尝试
博主开发了一个基于C# WinForm的台账管理程序,与SAP系统集成作为数据库。经过半年运行,程序运行良好,已积累十几万数据。优势在于C#开发比ABAP更强大简单,且能与SAP无缝对接;不足是需自行开发RFC接口,增加了开发工作量。整体上实现了高效的用户体验。原创 2025-07-25 16:24:48 · 158 阅读 · 0 评论 -
C# Renci.SshNet 登陆 suse配置一粒
PasswordAuthentication no 为 PasswordAuthentication yes。1、需要root登陆os,配置 /etc/ssh/sshd_config里面的。2、然后重启SSH服务:sudo systemctl restart sshd。原创 2025-05-29 14:19:57 · 539 阅读 · 0 评论 -
检测手机插入USB后,自动启动scrcpy的程序
博主写了一个小工具,检测手机插入电脑USB后,自动启动scrcpy。原创 2025-04-06 13:18:27 · 668 阅读 · 1 评论 -
当我发现明道云对每一个应用开放了完整API后
博主配合黄老师在ERP团队创新自己的项目管理应用,担任开发人员角色,逐渐深入明道云的开发,为满足功能需求,实现了从A表更新到B表的数据更新,在工作流中写了第一段JS代码来统计数据等等高级功能,都能游刃有余的解决掉。但有一个工时收集的场景,实现起来难度就比较大了。公司引入了明道云零代码平台,业务部门的各种应用如雨后春笋般在明道云平台茁壮生长,而当明道云引入了企业组织数据后,所有的数据操作和员工深度锁定,在很多业务场景,都快速上线创新了各种方便的应用,线上办公一发而不可收啊。原创 2025-03-14 19:03:26 · 679 阅读 · 0 评论 -
C# httpclient 和 Flurl.Http 的测试
async 和 await 是成对使用的,为了接受web异步返回的数据,winform的button控件中使用,只需要加上async关键字,然后在await中等待函数执行返回。原创 2025-02-24 11:05:12 · 607 阅读 · 0 评论 -
winform treeView 选中节点 图标保持不变
winform treeView控件中,节点需要指定好选中和非选中的图标,这样就不会每次用户点击节点时,图标会变为默认的,缺点就是必须要多写一行代码。原创 2025-02-05 15:34:53 · 339 阅读 · 0 评论 -
小汽车维修记录程序(PC版)
博主需要一个小程序,记录小车维修保养的内容:时间,地点,某种零件,以什么价格被保养使用。这样博主才能准确的知道小车下一次在何时需要保养,然后就可以有的放矢的去准备下一次的零件和时间(比如在618采购,还是在双11采购?比如汽车保养零件,它包括复杂的图片、型号、供应商、价格等等,你只需要一次输入,下次同样的零件记录,直接从零件库中选中即可。时间、地点、零件,就可以把我们的汽车维修记录完整的下来了。链接:https://caiyun.139.com/m/i?原创 2025-01-18 22:45:08 · 486 阅读 · 0 评论 -
C# 25Dpoint
C# 25Dpoint ,做一个备份。原创 2025-01-14 13:50:00 · 498 阅读 · 0 评论 -
WINFORM 对象引用对于非静态字段、方法或属性是必需的
winform中,我想控制form中的控件,但是这个控件的定义被写在Form1.Designer.cs文件中,因为我是从界面上拖了一个控件放上去的。在其他form中,要调用这个控件,就会出现“对象引用对于非静态字段、方法或属性是必需的”错误。手动去Designer.cs文件中加上static关键字是可以的,但是一旦Form更新,static关键字就会被VS编辑器抹去,所以并不是解决问题的最优解。这样就把这个控件的属性写死了,VS IDE只会改Designer.cs中的内容,不会乱改C#中的代码。原创 2025-01-01 11:56:55 · 475 阅读 · 0 评论 -
winform 在工具栏使用日期控件
winform 在工具栏使用日期控件原创 2024-12-04 10:31:07 · 438 阅读 · 0 评论 -
我的.net低代码平台
直到今天,我觉得C#的这套框架基本满足了我的诉求,这个低代码的意义和现在低代码平台可能不同,我说的低代码元素是在保证强大功能的同时,尽量减少程序员的代码编写。就是 C# .net 提供的各种功能用起来就很好了,.net本身的强大功能,LINQ对集合内存对象的无脑查询,原生的多线程并行功能,还有并行集合这些功能不但全面,而且开发效率非常之高,一行优雅的C#代码出现,就可以做很多事情。还有一个领域,如果要追求游戏一样的极致效果,可以直接使用UNITY2D,3D,同样使用优雅的C#代码,这是多么惬意的事情啊。原创 2024-05-19 11:07:59 · 828 阅读 · 0 评论 -
C# SSH.NET 长命令及时返回
博主管理了一个服务器集群,准备上自动巡检工具,测试在C# WINFORM应用程序中获取服务器的耗时命令时,需要及时的返回。在SSH中执行长时间的命令,SSH.NET及时在文本框中返回连续显示结果。原创 2024-02-02 11:22:36 · 1081 阅读 · 0 评论 -
C# 电脑程序控制电路开关
最近在做系统的监控,想到能不能做一个酷点的功能,当收到异常消息时桌面上的红色小灯(或报警灯)会亮起来。于是在淘宝上找了一下,有这种小设备,插入USB设备,通过串口控制这个设备的继电器来实现,成本也很低,只需要20元人民币。找了几个卖家,都只能提供C++的程序,现在都什么年代了,C#早已经大行其道。终于博主找一个卖家,他提供了这个设备的C#源程序代码。今天小开关到货了,博主试了一下,用程序简单的控制一路电源开关是可行的,而且很方便和简单。只需要引入 using System.IO.Ports。原创 2023-11-19 10:19:57 · 1191 阅读 · 0 评论 -
VS2022 C# 读取 excel 2023年
二、用VS2022建一个winform程序,在NuGet中安装NPOI。一、excel文件后缀需要小写。原创 2023-10-26 11:54:17 · 2423 阅读 · 1 评论 -
VS2022 MAUI android 设备管理器 下载错误解决办法
VS2022 android 设备管理器 系统镜像下载错误,提示:Network is not reachable. Please check your connection and try again.一共安装了好几次,结果都是这个错误,看视频教程老师说,不停的下载,多试几次就可以了!原创 2023-02-20 21:43:55 · 1434 阅读 · 0 评论 -
C# DIRECTX INPUT 模拟 (鼠标玩FBA街机)
1943很经典的街机游戏我突然想用鼠标来控制飞机可以吗?于是网上找了一下,没有找鼠标移动映射键盘的软件。自己建了一个C#项目,加入别人写好的全局鼠标钩子。很简单的代码,实现了获取全局鼠标坐标并做相应的操作:using Gma.System.MouseKeyHook;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using .原创 2022-02-15 22:05:30 · 3452 阅读 · 2 评论 -
汽车保养里程碑 软件程序
我需要一个小工具,记录我的小车保养相关的情况:什么型号的物料在什么时间,什么地点,以什么价格被保养使用。这样我才能清楚的知道我的小车下一次保养,我要去准备的物料和时间点,避免过度保养或延迟保养的出现。所以我写了这个电脑上运行的小工具。当然如果同型号的车,我能够参考到其它车主的保养信息,那就最好不过了,这个高级功能可能需要用微信小程序来最后实现。电脑端程序下载:...原创 2021-11-24 17:27:10 · 2250 阅读 · 0 评论 -
C# 程序创建word文件与表格
C# 使用DocX来创建word文档,很方便,也很高效。DocX 做一个表格只需要很少的代码就可以了。全部源代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Reflection;u..原创 2021-10-27 10:21:07 · 2012 阅读 · 0 评论 -
C#读取照片EXIF中的日期时间(家庭相片管理工具之一)
因为家里的照相设备增多,所存的照片也越来越多,如何方便的存储管理起来,这是一个专题。我想到一个方案:日积月累的照片,全部放到一个目录中,文件名按当时摄影的时间取名,这样可以把照片按时间来区别。这需要读取图片文件中,拍摄时的日期时间数据,它放在照片数据中的EXIF数据区。我需要一个批量处理程序,把上万张图片的名称按摄影的时间取名。网上看了看,C# 可以用微软已经做好的功能,直接读取日期时间数据。using System;using System.Collections...原创 2021-08-09 17:19:18 · 1339 阅读 · 0 评论 -
C# WINFOM DataGridView 增删改查 多个表
今天继续做了一点汽车保养记录工具,发现只需要4张表,供应商字段放物料表中就可以了。在选择框中选中表,就可以直接对这个表进行编辑,所需的代码非常少,就是这些,就可以编辑多张表了: ///////////input table/////////////// //数据库加载到DGV控件 private void DB2DGV() { if (toolStripComboBox1_table.T原创 2021-04-24 20:20:40 · 793 阅读 · 0 评论 -
C# WINFORM程序 中配置文件数据的读取
C# WINFORM 程序中配置文件数据的读取,网上资料很多了,自己也写一个吧:一、在程序中导入配置功能的组件 system.configuration二、头文件添加using System.Configuration;三、WINFORM项目的配置文件中,加入配置数据:<?xml version="1.0" encoding="utf-8" ?><configuration> <startup> <suppor.原创 2021-01-07 17:38:50 · 3188 阅读 · 1 评论 -
C# WINFORM 一般的控件不捕获上下左右按键消息
C# WINFORM 中,一般的控件包括窗体等等,KeyDown的响应函数对上下左右这几个键是不生效的。只有个别的控件如listbox是有响应的。所以不用上下左右那几个键,用ASDW来代替上下左右就好了。原创 2020-11-21 23:13:03 · 971 阅读 · 0 评论 -
C# 绘画 作画 无闪烁 draw graphics (C#无闪烁画图一)
在WINFORM上,点一下按钮,会出现一个图标,和几个字,效果如下:这里是全部的代码:namespace WinFormDraw{ public partial class Form1 : Form { public Bitmap bmp = new Bitmap(200, 200);//先新建一个bmp对象,200x200 public Graphics graphics = null; Image png06 = Im原创 2020-11-07 11:39:05 · 1235 阅读 · 0 评论 -
C# WINFORM 主窗口把数据传给子窗口,编辑后再返回主窗口
主窗口有数据要传递给子窗口,比如下面的子窗口:主窗口中的代码,打开子窗口实例的时候,直接把主窗口的listview控件传入: private void toolStripButton1_Click(object sender, EventArgs e) { FormAdd f = new FormAdd(listView1); f.ShowDialog(); ShowListView();原创 2020-08-11 17:29:44 · 3746 阅读 · 0 评论 -
C# 定时作业取固定服务器的时间格式
WINDOWS服务器的系统时间格式,有2种:24小时和12小时。12小时格式: 7:3024小时格式: 07:30服务器上不固定的使用这两种格式,如果直接用System.DateTime.Now来取,得到的格式就同服务器格式相同,是不固定的。但在定时程序代码的使用中,时间格式会转成字符串,而字符串对比,只能明确一种格式,所以在取时间时,我固定使用格式化24小时:string now = DateTime.Now.ToString("HH:mm"); 这样我的时间...原创 2020-08-09 11:27:03 · 507 阅读 · 0 评论 -
C# 对象数组的初始化
经常忘记,干脆写blog中,方便查询使用:C# 对象数组的初始化://定义一个对象的类,包含2个文本属性 public class menunode { public string name; public string text; }//初始化一个类的数组 public static menunode[] ms = new menunode[] .原创 2020-06-03 17:22:09 · 3928 阅读 · 0 评论 -
C# WINFORM的定时作业 sleep和Quartz区别(Quartz并不好用)
程序需要实现定时作业的功能经常会遇到,之前我一直使用Sleep,今天我突然觉得C# 应该有简单的定时作业类可以使用吧,于是我百度了一把,果然有一个Quartz,但是使用后发现只能加载静态类代码,其实很不灵活。一、C# WINFORM 中使用Quartz的例子代码:1、VS2019创建一个WINFROM项目,NuGit管理器中直接安装Quartz。2、加入下面的代码, 我专门为Quart...原创 2020-03-04 11:52:12 · 2444 阅读 · 1 评论 -
C# WINFORM 控件动画无闪烁的例子DEMO(C#无闪烁画图二)
因为上一个专题"程序服务器和客服端对象更新"的需要,要在C# WINFORM 中有物体的移动,需要不闪烁的动画这里单独把这个无闪烁动画的功能说明一下:程序在WINFORM的控件上画出每一帧的图像来实现动画,程序先自己创建一张BMP图片对象,有什么动画就在这张BMP对象上画出来。最后再把这张BMP显示在控件上,这样可以避免直接在控件上作画的图像闪烁。代码中没有用什么特别...原创 2020-02-22 13:59:10 · 1896 阅读 · 0 评论 -
服务器端的对象更新(客户端与服务器端“状态更新”的模型与实现之三)
在C# WINFORM 项目中使用HP-SOCKET网络引擎(客户端与服务器端“状态更新”的模型与实现之一)Unity2D 客户端使用HP-SOCKET连接服务器(客户端与服务器端“状态更新”的模型与实现之二)服务器端的对象更新(客户端与服务器端“状态更新”的模型与实现之三)在服务器端,世界中有20个对象一直在不停更新坐标x,y,现在需要把这些对象的状态传递...原创 2020-01-18 13:28:43 · 734 阅读 · 0 评论 -
unity客户端使用HP-SOCKET连接服务器(客户端与服务器端“状态更新”的模型与实现之二)
在C# WINFORM 项目中使用HP-SOCKET网络引擎(客户端与服务器端“状态更新”的模型与实现之一)Unity2D 客户端使用HP-SOCKET连接服务器(客户端与服务器端“状态更新”的模型与实现之二)服务器端的对象更新(客户端与服务器端“状态更新”的模型与实现之三)HP-SOCKET的服务器已经启动,我们在WINFORM用HP-SOCKET client组件...原创 2020-01-16 22:08:15 · 2187 阅读 · 1 评论 -
在C# WINFORM 项目中使用HP-SOCKET网络引擎(客户端与服务器端“状态更新”的模型与实现之一)
在C# WINFORM 项目中使用HP-SOCKET网络引擎(客户端与服务器端“状态更新”的模型与实现之一)Unity2D 客户端使用HP-SOCKET连接服务器(客户端与服务器端“状态更新”的模型与实现之二)服务器端的对象更新(客户端与服务器端“状态更新”的模型与实现之三)保持服务器与客户端的数据一致模型,能查到的方式只有2种:帧同步和状态同步。帧同步把计算都交给客户...原创 2020-01-12 23:45:46 · 6304 阅读 · 0 评论 -
登陆窗口切换后事件函数失效的解决办法
PDA使用SOCKET环境,是用事件函数返回服务器的消息,我的LOGIN FORM有一个事件函数: ggg.clientSocket.OnServerMsg += new xxhSocket.EventHandler(ServerMsgPush); //服务器返回消息事件 在 MAIN FORM里,也有一个事件函数:Logon.ggg.clientSocket.O原创 2017-01-06 11:10:44 · 609 阅读 · 0 评论 -
PDA开发从入门到精通
仓促的开局2016年初,三方物流撤出,带走了全部的软件技术,留下了一堆PDA。新年上班第一个星期里,我们要实现PDA收货批量导入ERP系统功能。没有准备时间,没有接触过PDA设备,要在受限的WINCE上开发程序,满足繁忙的物流业务,这些就是当时的场景。还好,ERP系统联调的收货接口之前出至我手。多年的VC开发经验加上对PDA背后业务的浓厚兴趣,我想这是当时能够走下去的内因。...原创 2017-02-25 12:53:25 · 30901 阅读 · 4 评论 -
C# WinForm程序 窗口最小化到系统托盘
4、contextMenuStrip1在菜单中加一个“退出”,点击它,增加事件:ToolStripMenuItem_Click。2、notifyIcon1属性中,关联加入contextMenuStrip1控件和指定icon图标。3、notifyIcon1增加事件:notifyIcon1_MouseDoubleClick。1、放一个notifyIcon1和contextMenuStrip1控件。原创 2018-08-27 17:36:14 · 1848 阅读 · 0 评论
分享