日常
文章平均质量分 61
Ivan the terrible
船舶行业攻城狮兼程序猿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
定制Newtonsoft的Json字符串转换器,解决reference loop等问题
对于需要特殊处理的字段,需要自己写转化字符串的方法。比如说我创建了个类叫myclass,它的大部分字段都是常规的double string int这些,但是它有一个字段叫neighbour用来记录哪些是它的邻居,很明显neighbour也是myclass类型,并且肯定会发生这种情况:A的neighbour是B, B的neighbour又指回A。原创 2023-10-29 08:53:05 · 623 阅读 · 0 评论 -
WPF小技巧——ListView和TreeView的右键菜单(ContextMenu)点的谁
WPF中右键点击ListView或TreeView时,是无法选中当前项的。当我们想在ListViewItem中实现右键菜单时,往往希望在弹出菜单的同时选中该项,以使得菜单针对当前项生效。原创 2023-04-15 22:02:27 · 3197 阅读 · 0 评论 -
WPF的小技巧——让软件记住上次运行时的配置
软件开发时候时常有这样的需求,软件运行涉及到一堆配置,和用户习惯、应用环境许多因素有关,开发阶段也不太能确定取值,只有根据使用反馈才能给出合理的值。那么我们自然希望让软件能够记录下上一次的配置,然后下一次运行的时候自动去读取。早期的软件很多都会在目录中弄一个config文件,用通过读写config来实现这一功能。WPF提供了更加方便的办法:appSetting。这里用最近用WPF做的小工具作为范例。项目工程里找到App.config,双击打开,它也是一个xml文件。在App.config中.原创 2022-02-02 11:21:06 · 1905 阅读 · 0 评论 -
WPF绑定数据,增删改后实时更新TreeView/ListView
WPF的界面的确好看,也引入了很多新功能,和winform相比更先进更强大......那么狗儿蛋,代价是什么?代价就是WPF学起来比较费力。数据绑定是WPF的特色之一,可以省去写代码更新UI界面的工作。这次打算做一个管理数据的小软件,自然的我也打算在界面上弄个TreeView,然后把它和数据源绑定,实现的效果是这样:OK,起初一切都很顺利。我在设计器里布了一个TreeView,代码是下面这样:<TreeView x:Name="TreePoints" AllowDrop="Tr..原创 2022-01-06 19:14:33 · 4502 阅读 · 0 评论 -
用C#实现一键自解压的傻瓜安装包
用C#实现一键自解压的傻瓜安装包写程序时候引用dll是再正常不过的事情了,如果引用的不是系统自带的dll,部署到其他机器就必须带着dll一起,只有.exe文件是用不了的。对于有些用户来说,让他准备dll什么的根本不现实,只要软件运行不了就是我们的锅。那么能不能像一些绿色软件一样,做成一个自解压的exe,自带dll呢?答案是可以的,实现方法如下:1、把编译好的exe和依赖dll一起塞进压缩包比如说上面这个,我们把编译好的engin.exe和依赖的dll全放到一起,确认engin..原创 2020-08-28 23:04:37 · 1832 阅读 · 0 评论 -
C#连接access数据库,“ServerVersion = “conn.ServerVersion” "找不到可安装的ISAM"
做一个简单的工业项目,连接一个2003的access数据库。private static string connStr = "Provider = Microsoft.Jet.OLEDB.4.0;DataSource = ";private OleDbConnection conn = null;OpenFileDialog openDB = new OpenFileDialog();原创 2017-11-27 20:23:18 · 934 阅读 · 0 评论 -
霍夫变换——空间平面检测算法
近日遇到一个需求,要从点云数据中提取空间平面。看了看计算机图形学中关于直线检测的霍夫变换的原理,自己写了一个用于三维空间点中进行平面检测的霍夫变换算法。先说从最简单的,xy平面图像中,提取直线的霍夫变换开始。假如xy平面上存在一条直线,用方程y=kx+b来表示。那么在kb平面上就可以用一个点(k,b)来对应xy平面上的这条直线。这个变换可以反过来,已知xy平面上有一个点(x0,y0),原创 2018-01-11 08:26:58 · 7577 阅读 · 2 评论
分享