上一页 1 2 3 4 5 6 7 8 ··· 33 下一页
摘要: 在很多WinForm的程序中,会有客户端之间相互通信的需求,或服务端与客户端通信的需求,这时就要用到TCP/IP的功能。在.NET中,主要是通过Socket来完成的,下面的例子是通过一个TcpListerner作为监听,等待TcpClient的连接,连接成功后就可以利用NetStream进行信息互通 阅读全文
posted @ 2023-02-07 21:29 刘靖凯 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 在桌面程序里,一般日志记录到文件里就可以了,但有的时间,也需要在窗体上动态滚动显示,这时,就需要引入日志框架了。 这里引入的依旧是NLog(在我的Mini API系统里,用的也是NLog)。首先要从Nuget中引入NLog.Windows.Forms,然后添加NLog.config,设置“始终复制” 阅读全文
posted @ 2023-02-07 21:23 刘靖凯 阅读(242) 评论(0) 推荐(0) 编辑
摘要: WebView是WinForm框架中一个控件,用来对网页信息交互,有时Web自己开发的,有时Web是三方的。 下面通过一个例子来看看WebView2的使用。 首先看Web的逻辑,是一个商品添加页面,用AlpineJS和BootStrap来开发的,业务上点击添加按钮,弹出modal框窗,然后保存结果, 阅读全文
posted @ 2023-02-07 21:17 刘靖凯 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 在.NET中,画图主要是通过Graphics类实现的,这个类主要通过两类方法完成画图,一类是DrawXXX,画各种线条图形;另一类是FillXXX,用各种形状,填充各种图形。Graphics是画板,Draw各个方法是各种盏笔(不过在调用Draw方法时,参数需要一个Pen对象),Fill的各个方法就是 阅读全文
posted @ 2023-02-07 21:11 刘靖凯 阅读(62) 评论(0) 推荐(0) 编辑
摘要: winform+api是一种对接数据模式,在本例中,为了方便,开发两个天生具有与后台api对接的用例控件,并且把他们封闭成单独控件,以供多次使用。 提示:此实例不是生产使用,仅作演示,有不完善地方,重点关注流程和自定义控件。 本例为API Server,用户控件项目,使用控件项目。 API Serv 阅读全文
posted @ 2023-02-07 21:05 刘靖凯 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 看到下面的项目结构,是否曾经相识?不要笑,这也是一种项目结构,极简主义。 项目结构没有对错,合适就好,但也要有几个要求,至少要做到结构明确,清晰,当然上图的结构清晰,但不明确,不知道各个Form是做什么的。 那么至少要给各个文件准确命名,不管命名规则如何,只要统一,明确就行,比如下面的图。 三层 窗 阅读全文
posted @ 2022-12-15 21:58 刘靖凯 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 由于WinForm的UI是绘制的,所以在加载大量数据数据时会有一定的延时,本篇就讨论几个减少延时的方法。 在加载有规律数据时,可以考虑用递归,简单方便快捷来加载数据,如下,把一个文件夹下的所有文件或文件夹加载到树形菜单上,以树形展示,代码实现如下。 var rootPath = "d://abc/b 阅读全文
posted @ 2022-12-15 21:44 刘靖凯 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 我们在控件那篇文章里说过,窗体和控件都是一个类,项目中一个个窗体,都是Form类的子类。关于这个类有几个重要的成员,也是最常用成员,以供初学者了解: Load事件:发生在构造函数后,Shown事件前,这个事件的生命周期内,窗体是不可视化的。 Shown事件:当窗体发生前窗体有轮廓画出,事件结束后整个 阅读全文
posted @ 2022-12-13 20:48 刘靖凯 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 在WinForm项目中,很多时候会映遇上多线程一起工作的情况,因为当前UI的更新显示,是在主线程中,一但主线程被长时运算占据后,UI就会被卡信,出现假死现像。那么就需要起一个新线程做长时运算工作,把进度或数据同步回UI线程。 以一个医保上传数据为例,功能是同步药品,器械,诊疗项目,同步完后进行验证核 阅读全文
posted @ 2022-12-13 20:41 刘靖凯 阅读(243) 评论(0) 推荐(1) 编辑
摘要: WinForm是基于控件的,不像code+mark的架构,可以非常灵活的用mark来布局,它只能用控件布局属性和窗口控件来完成对UI的布局。 容器控件有一组控件叫容器控件,对布局特别有作用,它们分别是:TableLayoutPanel:表格布局面板,每个单元格都可以用来作为其他控件的载体,通过设置行 阅读全文
posted @ 2022-12-11 19:44 刘靖凯 阅读(192) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 33 下一页