网站首页 > java教程 正文
相信很多“后浪程序员”都没有听说过WinForm, 全称是Windows Form ,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用 C# 编程。有较丰富的组件库,不过计算机相关专业的应该在大学有学。虽然这些技术在这个时代已经被程序员遗忘,但是当年还是被很多人青睐,以前的程序员称之为全栈工程师,前端、后端加数据库,一个人全部搞定。想当年前端WinForm+DEV(Developer Express),后端用java(经典的spring MVC架构),玩的是不亦乐乎。
以下是骨灰级的笔记,现在再去写估计手都要发抖了:
1.1、新建form
1.2、添加一个LayoutControl:LayoutControl控件可以在设计模式下通过拖拽的方式来实现良好且比较复杂的表单布局
1.3、进行form的继承:
平台包PlatForm中已经开发了基本的母版类form以便进行便捷开发,一般主查询页面继承InfoBarForm即可,继承后,效果如下:
修改页面继承InfoEditForm、InfoBarEditForm,简单的查询页面继承InfoForm,报表页面继承InfoReportForm等,此类form封装了大部分的功能按钮以及基本的元素如图片库,右键菜单等,
1.4、向该form中拖入需要的控件(
TextEdit/ButtonEdit/DateEdit/GroupControl等控件),向LayoutControl中添加一个普通的DateEdit控件,LayoutControl将其转换为LayoutControlItem。通常每个LayoutControlItem控件都是标签+控件的方式显示。相当于LayoutControl给添加的空间增加了一个标签组合成为一个新的控件。可以单独设置控件的属性。
1.5、页面相关属性开发:
主要分为组件初始化,各功能按钮的方法填充两部分。
barItem初始化设置—>
this.barItemQuery.Visibility = BarItemVisibility.Always;
表单右键的设置--àbase.setPopMenuSender(gridView1);
详情参考:
http://www.cnblogs.com/yunyun0574/p/5930270.html#_bookmark6
1.6、service方法
所有的业务逻辑都在后台以java代码实现,所以在C#中只提供service接口,不提供接口的实现。
服务:Hessian(一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。),客户端——>序列化写到输出流——>远程方法(服务器端)——>序列化写到输出流 ——>客户端读取输入流——>输出结果。是一种相对成熟的序列化解决方案
协议:RPC---远程过程调用协议,采用客户机/服务器模式
注意点:C#中service方法的命名要与java后台的service方法一致,并且在service.xml文件中进行定义
1.7、 model类: C#中model属性的命名要与java后台的model属性一致
2、打印模板设计
2.1新增XtraReport.cs窗体:
3.0界面
2.0界面
2.2、选取数据源
或者
2.3往report中加入相应的控件:
正常的表格---XRTable、条形码----XRBarCode等:
2.4对数据源进行相关业务逻辑的封装
2.5将模块导出,放置相关目录:
注意:实物(cm)与模板的比例大小大概1:40
虽然这些“老古董”用的人越来越少了,但是有些功能比现在主流的技术也牛逼不少,比如图形化的拖拽、打印模板,现在很多主流的前端框架(比如Bootstrap、React、vue等)难以超越的。
大家好,我是【少宫主花无缺】,后续会陆续更新产品经理、程序员等相关的经验、技能、案例,欢迎各位客官关注&点赞(公众号同名)!
猜你喜欢
- 2025-07-21 「Web应用架构」模式:前端的后端(BFF)
- 2025-07-21 Aspose.Total 6折,单品85折 史上最低仅剩10天
- 2025-07-21 开发者评论微软WP8.1/Win8.1通用应用
- 2025-07-21 【实战篇】数字化打印——打印管理模块的业务设计(一)
- 2025-07-21 10款好用的开源 HarmonyOS 工具库
- 2025-07-21 智能文字识别技术-ocr api-票据ocr文字识别-数字化
- 2025-07-21 springboot 调用c#的soap接口(springboot怎么调用webservice接口)
- 2025-07-21 Aspose.BarCode 更新至v7.1.0(aspose.total授权版)
- 2025-07-21 Aspose.BarCode新版发布条码识别更准确
- 2025-07-21 文档流转,文档操作,文档归档(二)
你 发表评论:
欢迎- 07-21如何将 iPhone 中的联系人导出到 Excel/CSV?
- 07-21sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 07-21在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 07-21如何把csv格式转换成Excel格式(csv格式怎么转换)
- 07-21如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 07-21使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 07-21解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 07-21使用vba将Excel 文件转成 CSV 文件
- 最近发表
-
- 如何将 iPhone 中的联系人导出到 Excel/CSV?
- sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 使用vba将Excel 文件转成 CSV 文件
- python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- MySQL 导出数据(mysql 导出数据 判断成功)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)