C# Winform 脱离 Framework (二)】的更多相关文章

第一个Method: //启动应用程序 VOID RunApplication(LPTSTR lpFilename, LPTSTR args) { //WinExec(lpFilename, SW_SHOW); //return; SetErrorMode(SEM_FAILCRITICALERRORS); PROCESS_INFORMATION pi; ::ZeroMemory(&pi, sizeof(pi)); //初始化进程信息pi STARTUPINFO si; memset(&si…
Linker是一个命令行工具,它以将我们的.net程序生成可脱离.net framework环境运行的程序 . Linker不支持中文的路径,在程序中也不能有中文的标识符. Linker 有2种部署方式-mdeploy和-native,-mdeploy方式提取的虚拟环境大概40MB左右,而-native方式则是将MSIL代码转换为NativeImages,配合-il指令使用,最终提取出来的虚拟环境不到30MB. 语法分别是: -mdeploy方式:linker -mdeploy -casoff…
1.调用前组装参数 2.调用发送信息服务脚本   .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.MessType = BaseSendTaskEntity.EnumMessType.Phone.ToString(); entity.BusinessType = BaseSendTaskEntity.EnumBusinessType.MES.ToString(); entity.WindowName =…
最近业余捣鼓monogame,自然而然就关注到了.net程序脱离framework发布的问题上了, 度娘,谷歌娘 都经过一番查找,无非分为如下几类方法: 1.直接使用mono运行时,附带 bin.lib文件夹,删去不必要的文件,缺点是需要写一个引导器或者批处理之类的工具,通过mono.exe或monow.exe启动 2.采用mono官方方案boundle,相当于写了一个简单exe内嵌mono虚拟机,执行自己的资源文件,参看http://www.linuxdot.net/bbsfile-3354 …
一.窗体的事件 每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码 位置:1)右键属性→事件→load 双击进入 2)双击窗体任意一个位置进入 删除事件:先将事件页面里面的挂好的事件删除,再删后台代码里面的事件 namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1()//构造方法 { InitializeComponent(); } private void Form1_…
本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer 一  ThreadPool 线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个线程而又较短任务(如一些常处于阻塞状态的线程),它的缺点是对创建的线程不能加以控制,也不能设置其优先级.由于每个进程只有一个线程池,当然每个应用程序域也只有一个线程池(对线),所以你将发现 ThreadPool类的成员函数都为static!当你首次调用ThreadPool.QueueUserWork…
PDF 生成.解析二维码 界面样式: 第一步:下载ThoughtWorks.QRCode.dll 类并引用 地址  http://download.csdn.net/detail/liwb1987/8500113 第二步:设置控件到界面上 第三部:生成按钮下代码 private void btnCreateQRCodeClick(object sender, RoutedEventArgs e) { try { ShowQRCode(); } catch (Exception ex) { Mes…
•基于Django 先创建一个django项目,在项目中创建一些表,用来测试rest framework的各种组件 models.py class UserInfo(models.Model): """用户信息表""" user = models.CharField(max_length=32) pwd = models.CharField(max_length=32) class UserToken(models.Model): "&…
https://www.cnblogs.com/ejiyuan/archive/2009/05/27/1490786.html 1.ObjectContext 封装.NET Framework和数据库之间的连接.此类用作“创建”.“读取”.“更新”和“删除”操作的网关. ObjectContext类为主类,用于与作为对象(这些对象为EDM中定义的实体类型的实例)的数据进行交互. ObjectContext类的实例封装以下内容: 到数据库的连接,以EntityConnection对象的形式封装.…
大家好,今天有时间给大家带来Winform自绘控件的第二部分,也是比较有意思的一个控件:旋转太极图. 大家可以停下思考一下,如果让你来绘制旋转的太极图,大家有什么样的思路呢?我今天跟大家展示一下,我平时绘制所用的思路,还请各位不吝赐教. 其实连续的动画效果,微观上去看,就是将这连续的时间切成一小段一小段,太极图只要在每一小段时间移动一定角度.那么在宏观上看将会是连续的动画.所以整体的思路就有了: 在每一小段的时间将,改变绘制起始角度,触发控件重绘,就可以形成连续的动画效果.因为是围绕控件中心进行…
目标: 1.ADONET简介 2.Connection对象 3.Command对象 4.DataReader对象 准备工作:创建mhys数据库及员工表 代码如下: create database mhys go create table employee ( id int identity(1,1) primary key, empname nvarchar(20) not null, salary int not null ) go 一.ADO.NET简介 1.理解:实现应用程序和数据库的交互…
Play 2.0 的完整演示过程记录 http://www.oschina.net/translate/playframework-20-live-coding-script todolist代码…
待完善-------------------------------------- ----------- base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法. 指定创建派生类实例时应调用的基类构造函数. 基类访问只能在构造函数.实例方法或实例属性访问器中进行. 从静态方法中使用 base 关键字是错误的. M1: using System;public class Person{    protected string ssn = "444-55-6666&quo…
基础概念 线程中的方法栈 java程序虚拟机启动时会载入程序码,虚拟机会为每一条正在运行的线程生成一个方法调用栈,线程以方法运行为执行单位. AOP概念以及目标 AOP是面向切面编程,其实就是在不修改代码模块的情况下在你的模块中嵌入一些其他的代码. 目标是统一模块,从而抽取并消除一些散落在系统中块状代码(非业务逻辑). AOP术语图解   连接点:就是所有线程的方法,可以作为嵌入代码的候选对象; 切入点:最后被选为嵌入代码的对象; 切面:实现嵌入的对象; 增强通知:嵌入的内容(一些被定义的方法,…
本篇主要介绍:创建了实体数据模型,生成了那些文件以及其代表意义 创建实体数据模型 上一篇的最后,我们创建了数据库,现在我们利用数据库来生成我们的实体数据模型,这种形式我们称为数据库优先,后面会介绍代码优先. ①新建一个控制台,版本设置为4.5 ②添加 - >单击新建项目,从弹出菜单中选择ADO.NET实体数据模型,给新项目名称“School”,然后单击添加按钮. ③选择模型: ④连接到数据库: ⑤全部勾上 如果数据库中的表名是复数,生成的对象名称复数或单数化 复选框会单独化一个实体集名称.例如,…
2.1运行效果: 2.2开发实现: 2.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http://www.cnblogs.com/spring_wang/p/6116523.html 2.2.2 菜单配置项上配置如下就可以了: 这个系列教程文档,欢迎转载: SNF开发平台WinForm之十四-站内发送系统信息http://www.cnblogs.com/spring_wang/p/61400…
1运行效果: 2开发实现: .组装站内信息发送实体对象. SNFService SNFService = new SNFService(); if (this.ucUser.SelectedIds != null) { // 发送信息 BaseMessageEntity messageEntity = new BaseMessageEntity(); messageEntity.Id = BusinessLogic.NewGuid(); messageEntity.FunctionCode =…
1运行效果: 2开发实现: 如果需要单独显示PDF文件时用下面代码去实现,指定url地址. 地址: . 获取附件管理的实体对象: List<KeyValuePair<string, object>> paramters = new List<KeyValuePair<string, object>>(); paramters.Add(new KeyValuePair<string, object>(BaseAttachmentsEntity.Fi…
原来我们用的是微软自带的打包工具去打包,但感觉好像也是第三方做的打包并且很是麻烦,还有时不成功报错.那综合考虑就找一个简单实用的打包工具吧,就找到了NSIS这个.具体打包步骤如下: 1.安装NSIS 打开安装程序,按照指示安装即可 2. 安装完毕,打开NIS Edit,点击文件,选择新建脚本:向导(W),如下图所示. 3. 点击下一步,在这里相应更改: (1)将应用程序名称填写*.exe文件名: (2)软件版本.出版人.网站根据实际需要填写(若没有,则保留空白即可): (3)程序标志会在安装界面…
7.1运行效果: 2.Excel导入开发实现 2.1. 创建窗体,修改命名空间 新增的窗体命名“FrmImport表名”,这个导入窗口比较其它窗口会特殊一些,需要继承BaseFormImport父级窗体 2.2.在新建窗体中写方法 构造方法,是用来设置 导入的窗体名称,和下载导入模版名称,指定必填列. 2.3.AddItem在“导入数据”事件时会被调用,并且每一行数据转换成实体对象过来,我们可以对实体对象进行操作保存或者其它处理. 2.4.添加导入按钮 2.5.在调用按钮事件写入调用导入窗体代码…
下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 4.配置参数 下图,可在字段右键选择控件编码字段,控件名称字段 5.生成代码 6.启动程序 这个系列教程文档,欢迎转载: SNF开发平台WinForm之十四-站内发送系统信息http://www.cnblogs.com/spring_wang/p/6140031.html SNF开发平台WinFor…
9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Load事件或者Program入口的Main方法第一行代码加上如下代码: 注意:是主程序的 Load事件要加上调整自动更新程序的代码.要以模式打开窗口.如果没有差异会自动关闭升级窗口显示主窗口. 3.把下面目录里的文件拷贝到 应用程序的同级目录下: 4.配置WINFORMS应用程序目录下Updateli…
8.1运行效果: 8.2开发实现: 1.  先要创建.grf报表模版,指定数据列.存储位置:Reports\Template文件夹下 2.  之后在程序当中查出数据,之后把数据和打印模版 传入方法进行打印. BaseInterfaceLogic.ShowPrintReport(dtData, "BaseOrganize.grf"); 3.在项目中选择模版文件右键属性:复制到输出目录配置成”如果较新则复制” 8.3报表模版创建方法: 1.报表模版的设计技巧,就是创建一个空的模版或者按向导…
6.1运行效果: 6.2开发实现: 1.先在要使用的项目进行引用,SNF.WinForm.Attachments.dll文件. 2.在工具箱内新建选项卡->选择项,浏览找到文件SNF.WinForm.Attachments.dll后会出现控件UCAttachments如下: 3.拖拽控件:UCAttachments到合适的位置上.(注:如果没有这个控件就从其它项目复制过来或者在工具箱里 选择项添加这个dll进来就有了) 4.需要配置如下属性: BusinessID业务表主键.这个主键是你业务表的…
5.1运行效果: 5.2开发实现: 1.按上面效果来说,先来看一下在程序当中如果调用.第一步在页面拖拽一个按钮为“高级查询”,事件上写下如下代码: 如果是单表查询的话,只需要传GridView就行,如果是多表查询的话需要传的参数多一些. 单表查询调用:this.ShowAdvancedQuery(this.grvGridView); 多表查询调用: this.ShowAdvancedQuery(this.grvGridView, DemoMultiTableEntity.TableName,li…
4.1运行效果: 4.2开发实现: 4.2.1          有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: 细表结构如下:注意,细表需要有存储主表ID的字段. 创建表时要注意:字段的说明和表的名称描述要写: 4.2.2          表创建完之后我们来看看多表生成操作应该怎么玩.需要分别对主表.细表按单表一样的处理“表结构配置”后,进行保存.主要配置的是显示的中文名称.使用的控件.格式化.是否必填.是…
3.1运行效果: 3.2开发实现: 3.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http://www.cnblogs.com/spring_wang/p/6116523.html 3.2.2 当然了这个就不用增加菜单了,而是生成了自定义控件.可以在工具箱里找到此控件名称为“UC+表名+Select”拖拽到窗体上就可以了,如果找不到就编译一下项目. 3.2.3 在配置一下这个选择控件的属性…
1.1运行效果: 1.2开发实现: 1.2.1          首先在数据库中创建需要开发的数据表,在代码生成器中进行配置连接数据库. 代码生成器的Config.xml文件配置如下节点: 1.2.2          之后打开代码生成器 SNF.CodeGenerator.exe.再之后选中需要开发的数据库和数据表. 1.2.3          选中之后在“表结构配置”区域可以进行配置,字段要显示的中文名称,显示时所使用的控件,如:文本框.文本域.数量控件.金额控件.下拉框(直接选择数据字典…
一.显示效果如下: 二.在控件库里选择UCTimeAxis 拖拽到窗体里. 三.加入以下代码,在load事件里进行调用就可以运行了. #region 给时间轴控件加载数据 private void UCTimeAxisData() { //增加节点 List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>(); list.Add(", "…
在我们做项目的时候,经常会有移动平板处理检验,审核等,方便移动办公.这时就需要在现场拍照上传问题,把当场问题进行上传,也有已经拍完照的图片或加工过的图片进行上传.还有在车间现场一体机,工控机 这种产物,显示的样式跟PC上还是有所差别的,需要放大一些,因为都是触控屏的.方便操作. 一.演示及使用效果 1.1.一体机,工控机 1.2.平板程序,拍照上传,上传附件 1.3.二维码扫描识别 二.调整方法 2.1.DEMO样例 2.2.样例调用代码: public partial class QRCode…