自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lch的博客

随笔

  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用System.Management获取cpu序列号出现异常

报错:System.Management currently is only supported for Windows desktop applications.Cannot marshal ‘parameter #3’: Cannot marshal a string by-value with the [Out] attribute.

2023-01-15 16:16:15 1768 1

原创 WPF动态生成列(C#)

WPF动态生成列的简易Demo

2022-06-17 10:12:53 349

转载 C# Winform窗体中在标题拦上自定义右键时出现的菜单项

转载:自定义右键时出现的菜单项效果图代码源连接:C# Winform窗体中怎么能在标题拦上自定义右键时出现的菜单项?效果图代码#region fields(菜单栏) private const int WM_SYSCOMMAND = 0X112; private const int MF_STRING = 0X0; private const int MF_SEPARATOR = 0X800; private enum SystemM

2022-05-24 09:22:40 792 1

原创 C# 简单的自定义模型映射

开发过程中由于定义了多个给数据模型(视图模型、数据库模型),每次都一个一个字段赋值比较耗时,所以做了个自定义一个映射。因为项目所需要求比较简单所以也没用AutoMapper。使用到的类MapAttribute:映射特性,用于解决不同字段名的映射,且优先于字段名MapHelper:映射特性的操作方法,针对的是映射特性StringExtend:字符串扩展方法ObjExtend:对象扩展方法,映射实现在此方法中类的具体定义MapAttribute 映射特性using System;n.

2022-01-20 10:30:01 774

原创 winform 操作注册表(RegistryHelper)调试时,出现“对注册表项访问被拒绝”异常

项目场景:最近一个项目需要用到注册表。在用代码创建注册表子项时,抛出“对注册表项。。。访问被拒绝”的异常。问题描述:调用RegistryHelper.CreateSubKey 的 var _subKey = m_registryKey.CreateSubKey("SOFTWARE\\" + subKeyString);这句时抛出异常 RegistryHelper注册表帮助类using Microsoft.Win32;using System;using System.Diagnos

2021-07-14 18:25:25 1569

原创 C# Winform调用Show方法后,由于后续线程阻塞,导致窗体显示不全

项目场景:最近项目有个比较占资源的关闭操作,此时如果用户进行其他操作时程序容易出现卡死无响应。因此需要增加个提示框,提醒用户。问题描述:调用Show展示提示框时,会产生界面展示不全。直到关闭流程走完才展示完整。如下图:提示内容不展示。FrmTest _frm = new FrmTest();_frm.TopMost = true;_frm.StartPosition = FormStartPosition.CenterScreen;_frm.Show();Thread.Sleep(10

2021-07-10 13:36:33 2225

原创 C# 多播委托与事件

今天在进行开发的时候,有要用到事件。在定义事件时,又感觉可以直接使用委托。感觉两者的效果一样的。。。所以测试下了事件和委托的用法。测试代码using System;using System.Diagnostics;namespace Test{ public class DelegateTest { //================== construct function =================== #region constr.

2021-07-03 14:33:08 243

原创 ASP.NET Core自定义配置文件

新建Configuration类库专门获取各个配置信息NuGet安装Microsoft.NETCore.App和Microsoft.AspNetCore.App在类库中新建SysConfig类using System.IO;using Configuration.Model;using Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Configuration;using Microsoft.Extensions.Depen

2021-06-15 16:52:32 907

原创 .net c# 监听文件事件

今天在学习asp.net core 的配置文件相关知识时,了解到AddJsonFile的reloadOnChange参数设置为true则配置文件发生变化后,可以重新加载配置。因为没有这知识,之前做winform端自定义配置时,都是文件启动时加在一次配置,没法实时修改配置后生效。现在记录下来以便以后可以使用。参考 码农阿宇-浅析 .Net Core中Json配置的自动更新asp.net core 配置文件设置 #region Configure 用于定义请求管道中的中间件 ///.

2021-06-15 13:27:54 669

原创 C# this关键字使用及扩展方法

反射、自定义特性这篇文章最有为解决字符串类型转换,使用了扩张方法。详细了解this关键字(参考 微软官网-this(C# 参考))和扩展方法(参考 微软官网-扩展方法(C# 编程指南))This 关键字1、代指类的当前实例当类里面的全局字段 与 某个方法内的临时变量重名时,若再想取全局字段需加上this关键字获取。我个人的自定义编码规范是,全局变量为m_+小写字母开头的驼峰。临时变量为_开头。using System.Diagnostics;namespace LchCommon{.

2021-06-12 13:40:00 900

原创 通过反射完成连续工作

在上一个公司时,其中有一个项目就是以【通过反射获取所有实现接口的类】方式来实现程序的初始化。由于没人讲解(直接给项目代码),实现类写在好几处,处理的逻辑也更复杂(有调用顺序,是否允许继续,以及适用多个程序集等),无法直接查看引用和转到定义,所以费了些功夫才弄懂。基本逻辑如参考参考:秦林生 c# 通过反射获取所有实现接口的类,并且调用类中的公共方法定义一个接口 IWorknamespace LchCommon.Model.Work{ /// <summary> ///.

2021-06-08 14:47:50 69

原创 利用反射自实现表数据转实体数据

接上一篇反射、自定义特性接上上一篇Excel导入导出ExcelHelperusing System.Collections;using System.Collections.Generic;using System.Data;using LchCommon.Helper;namespace LchCommon{ /// <summary> /// 数据表帮助类 /// </summary> public class DataTableE

2021-06-08 13:54:13 84

原创 反射、自定义特性

前言最近接手一个winform端的项目,第一次真切体验到,代码会乱和需求不确定,频繁修改的无奈。之前工作经验中项目都会分三层,让我以为所有项目都会这样。而我的接受的项目确是所有代码都写在窗体代码中,不管时数据访问,还是业务处理,都和窗体事件和相关代码混在一起。当开发其他页面时,又要重新开发,没有复用可言。而且一修改,每个位置都要一一找出来进行修改。而且基本没有模型类,原始数据直接用数据表加下标,以及数组进行处理。例如:改DataGridView时,每一次调整列位置,都要修改相应数据赋值(赋值时按下标赋值

2021-06-08 13:13:32 118

原创 Excel导入导出ExcelHelper

一个简单的Excel帮助类,只支持数据集和数据表的导入导出。帮助类,放到公共帮助类中CommonEnum 枚举namespace LchCommon{ #region ExcelType Excel类型 /// <summary> /// Excel类型 /// </summary> public enum ExcelType { #region xls 2003 /// <summar.

2021-06-07 17:31:44 651

原创 数据库规范

命名规范一般性命名规则1,数据库所有命名都使用驼峰式[Camel]命名规则2,名称不能使用中文3,名称长度范围[2,32]4,名字必须具有意义5,缩写的单词必须大写6,特殊情况下,多个单词之间可以使用英文的下划线[_]连接数据库命名(以lch为例)正式库以 lch开头,测试库以lch_test开头,第几个库在后面使用[_]加库号,第0个库直接使用lch,第N库使用lch_N命名。数据表命名1,表名使用单词首写字母大写2,表名都以[s]结尾。3,表必须添加中文说明如 正

2021-06-07 14:51:57 625 2

原创 VS下C#个人代码规范

Visual Studio设置(工具-选项)(文本编辑器-c#-代码样式-命名)Pascal(帕斯卡): 大小写形式-所有单词第一个字母大写,其他字母小写。Camel(驼峰式): 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。类、枚举、属性、方法等直接用Pascal样式接口(前加I)、抽象类和基类(前加Base)、事件(后加EventHandler)、事件参数(后加EventArgs)、委托(后加Delegate)类内公共私有字段使用m_+camel,方法内部临时字段使用_+c

2021-06-06 13:36:09 440

原创 SQLite string类型会自动隐藏小数值尾部的0

项目场景:Winform做一个输入框取字符串,然后保留到数据库SQLite中并将数据取出展示问题描述:普通字符串都能正常存取,当字符串为“2.0”时,取出来的字符串变为“2”。自动去掉了“.0”。 原因分析:原先判断可能是代码问题,怀疑是否有哪一步将字符串转为小数类型。经过断点调试,最终排除掉这个。然后将最终生成的sql语句,在sqlite可视化管理工具[SQLite Expert Personal]中执行,发现查询的结果依然一样。解决方案:最后发现该数据库字段的类型为【str

2021-06-04 11:12:51 610

原创 学习静态文件

静态文件 官网介绍指ASP.NETCore应用直接提供给客户端的资源,如 HTML、CSS、图片和JavaScript等。通常位于web根目录中,默认为/wwwroot,可通过WebHostBuilder来指定另外一个地址当根目录。内容根目录:应用程序所用到的所有内容的根目录,如views和web内容。(Web)网站根目录:项目中类似于CSS、JS和图片文件公开、静态的资源的目录。namespace WebApplication1{ public class Program

2021-05-26 13:00:03 319

原创 WinForm 指示灯

WinForm 指示灯参考:newideas07的博文 ovalshape C# 真正纯WinForm打造指示灯今天一个WinForm项目需要使用到指示灯,由于没在控件属性的圆角设置。原本打算直接切两个图在PictureBox中显示。后来在网上找到 newideas07的博文 ovalshape C# 真正纯WinForm打造指示灯 ,因此根据该博文制作一个指示灯控件,以下为过程及代码。1、新建自定义指示灯控件在项目相应文件夹中 右键-添加-用户控件,输入名称:Lamp,点击确定。2、设

2021-05-21 12:40:38 7534 8

原创 自定义中间件

自定义中间件新增 .NET Core 类库项目Middleware1。在Middleware1项目中右键->管理NuGet程序包,搜索Microsoft.Extensions.Logging.Console,并进行安装。由于缺少依赖项导致安装失败对项目进行右键单击,选择属性,目标框架 选择 安装其他框架。下载安装 .NETCore2.1 SDK 百度网盘提取码1234下载完成后点击安装,如已安装过则点击修复。再退出重进VS.再次安装 Microsoft.Extensions.

2021-05-09 11:27:53 273

原创 中间件

中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器和消息队列软件。百度百科中间件 官网介绍用于组成应用程序管道来处理请求和响应的组件。管道内的每一个组件都可以选择是否将请求交给下一个组件,并在管道中调用下一个组件之前和之后执行某些操作。请求委托请求委托处理每一个HTTP请求。通过使用IApplic.

2021-05-08 18:13:48 113

原创 使用VS2017创建ASP.NET Core项目及Startup类

直接新增项目程序Program类WebHost按生成器模式来创建Web应用程序主机。生成器提供定义Web服务器(例如UseKestrel)和启动类(UseStartup)。IWebHostBuilder 是 WebHost.CreateDefaultBuilder 调用的返回类型,提供了许多可选方法,包括用于在HTTP.sys 中托管应用的UseHttpSys,以及用于指定根内容目录的UseContentRoot。Build 和 Run 方法生成IWebHost对象,该对象托管应用并开始侦听HTT

2021-05-08 15:45:22 785

原创 VS Code下载安装

VS CodeVisual Studio Code 是一个运行于OS X、Windows 和Linux 之上的,针对于编写现代Web 和云应用的跨平台编辑器。支持几乎所有主流开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展。官网下载地址 https://code.visualstudio.com/Download度盘 https://pan.baidu.com/s/1VyY_UGIcNUAOz1dffQvu6g 提取码:1234

2021-05-07 17:17:46 1080

原创 认识Docker

Docker概念来源于菜鸟编程网 https://www.runoob.com/docker/docker-tutorial.html Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Doc

2021-05-06 19:14:40 66

原创 dotnet命令

dotnet命令默认dotnet build 生成.NET Core 应用程序dotnet clean 清理生成输出dotnet migrate 将有效的预览版2项目迁移到.NET Core SDK 2.0项目dotnet msbuild 提供对MSBuild命令行的访问权限dotnet new 为给定的模板初始化C#或F#项目dotnet pack 创建代码的 NuGet包dotnet publish 发布.NET 依赖于框架或独立应用程序dotnet restore 还原给定应用程序的

2021-05-06 16:45:07 584

原创 .NET Core SDK下载安装

.NET Core SDK SDK(软件开发工具包)官网下载地址 https://dotnet.microsoft.com/download度盘 https://pan.baidu.com/s/1VyY_UGIcNUAOz1dffQvu6g 提取码:1234安装完成此产品会收集用法数据• 详细信息和选择退出选项: https://aka.ms/dotnet-cli-telemetry资源• .NET Core 文档: https://aka.ms/dotnet-docs• SDK 文档:

2021-05-04 17:03:12 3885

原创 学习ASP.NET Core

ASP.NET Core

2021-05-04 15:55:46 145

原创 SQLSERVER逐行更新

参考http://bbs.csdn.net/topics/392091776?list=lz近期有用户提出需求逻辑如下:根据实际销售预测未来的销售情况。由于在sqlserver上操作,刚开始时是没有一点头绪,本准备用游标,有幸看到http://bbs.csdn.net/topics/392091776?list=lz;并了解可以用CTE公用表表达式:Common Table Exp

2018-01-08 12:47:22 899

转载 c#Winform记事本双击打开文件

///         /// 关联文件启动运行时载入文件        ///         private void InitalizeLoadFile()        {            string command = Environment.CommandLine;//获取进程命令行参数            //this.Source.AppendTe

2015-10-02 18:52:17 1195

原创 实习期间初次使用javascript调用webserver,将html页面提交

所用到的js文件来源于网络:http://pan.baidu.com/s/1qW5SrSw    新建web服务  新建web服务后出现两种文件:.cs和.asmx.asmx的内容只有下面一行WebService 定义是web服务,CodeBehind定义后台代码.cs文件如下(Push(自己添加的)和HelloWorld是该服务提供的方法)/***

2015-10-02 18:26:33 380

原创 实习中

今天,项目的师兄让我改一下一个错误。因为有一个地方显示的结果与预期的不一样。他告诉我有可能是调用的存储过程错了,也有可能是代码错了。原来负责这一功能的人修改到一半就走了。      好吧,既然师兄说存储过程可能错了,那我就先看一下存储过程吧,因为代码实在是太多了,光想想就怕了。况且我刚来实习没多久,对整个项目也了解不多。      对于存储过程,我以前自己写的时候也没写注释的习惯,现在我后悔了

2015-08-21 19:08:45 173

WPF动态生成列(C#)Demo

文章https://blog.csdn.net/lchaxwy/article/details/125328400 的Demo

2022-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除