winform程序中使用线程的必要性: 单线程操作在执行耗时任务时会造成界面假死,带来非常差劲的用户体验,有时候甚至会影响到正常的业务执行,使用多线程做相关操作实属不得已之举. 那么在编写程序之前必须要明白的一个点就是窗体的UI的操作只能通过UI线程来执行,其他线程如果要去执行窗体中的控件值修改或者其它[任何和窗体线程相关的操作],就会报异常,所有人都知道的.为了适应这一特性,于是就有了这样的写法: private void button1_Click(object sender, EventA…
在Winform开发中中,我们为了方便客户选择,往往使用系统的字典数据选择,毕竟选择总比输入来的快捷.统一,一般我们都会简单封装一下,以便方便对控件的字典值进行展示处理,本篇随笔介绍DevExpress控件的几种常见的字典绑定展示方式,希望我们在实际WInform项目中使用到. 1.常规下拉列表的处理 常规的处理方式,可能会使用ComboBoxEdit 控件来承载下拉列表,下拉列表的值可以是固定的列表,也可以来自字典的方式,具体根据实际情况而定,大概的效果如下所示. 单击下拉列表,会展示一些常规…
打包数据库到安装程序中 方法1. 备份/恢复先备份数据库:backup database 数据库 to disk='c:\备份.bak' 将备份文件打包到安装程序中. 在第一次运行程序的时候,进行数据库恢复(或专门做一个系统配置的程序,来控制完成此工作)restore database 数据库 from disk='c:\备份.bak' 方法2. 分离/附加 注意:这个方法中的分离等于删掉数据库,然后可以再附加,只要数据库版本一样,都能成功附加的.但是为了保险起见,建议尽量不用此方法.使用方法1…
在Winform开发领域开发过十多年的项目中,见证着形形色色的架构和官方技术的应用,从最早类似Winform模式的WebForm技术,到接着的JQuery+界面组件,再到Asp.net Core的技术应用,以及后来的纯前端技术出现,Angular.React.Vue等前端技术和语言的广泛应用,Web应用越来越多,也越来越精细化,从最初的单服务,到单服务+分布式缓存,再到微服务集群的各种服务架构,Web开发的体系越来越庞大和复杂化,虽然引入更多先进技术.更多优秀架构,但同时也意味着更高的技术门槛,…
在我们开发各种应用的时候,都会碰到很多不同的问题,这些问题涉及架构.模块组合.界面处理.共同部分抽象等方面,我们这里以Winform开发为例,从系统模块化.界面组件选择.业务模块场景划分.界面基类和辅助类处理.代码生成工具辅助开发等方面介绍在实际项目开发过程中碰到的困境和相关的解决方案,以便分析其中是如何逐步提高效率和整体用户体验的. 1.系统模块化 软件和建筑工程很类似,都是需要构建一个庞大而功能完整的一个系统,而工程化也意味着需要多人协作,那么就需要把一个庞大的系统横向或者纵向划分为各个可以…
学习笔记 第一章:winform基础 一.概述 1.Windows Form(简称WinForm) 是微软.NET平台下用于开发"图形界面"应用程序的组件. 2.C/S架构 客户机(Client)/服务器(Server),是软件系统体系结构. 通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销. B/S 二.在VS中新建窗体程序 1.认识窗体程序--第一个窗体程序 1) 窗体设计器 : 设置窗体界面(经常操作) 每个窗体都有…
系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm程序中集成WebView2控件的基本实现方式,首先通过NuGet管理器引用Microsoft.Web.WebView2控件 然后安装长青版运行时环境 最后设置WebView2.Source属性为目标网址即可实现加载网页. 本文介绍使用固定版本运行时环境的方式来实现加载网页.介绍实现方式之前,先到控制面板中卸载…
本章简言 上一章笔者介绍了关于WinForm环境.这一章笔者将继续讲WinForm.只不过更加的面向开发了.事实就是在学习工具箱里面的控件.对于WinForm开发来讲,企业对他的要求并没有那么高.但是如果是游戏相关的话,不好意思!笔者觉得你可能选错语言了.C++可能更合适你.有一点希望读者们明白.下列讲到的内容是笔者在开发用的.只能辅助你学习,却不能成为教材.上一章讲到WinForm开发就是JAVA的Awt和Swing编程.笔者在做Awt和Swing已经过去四年多了.如果记得没有错的话,在设计窗…
转自http://hi.baidu.com/leoliu83/blog/item/1d1a4a66dcb41134aa184cfd.html WPF开发于WinForm之后,从技术发展的角度,WPF比WinForm先进是不容置疑的.我觉得WPF相比于WinForm有下面的一些较好的特性: 解决Window Handle问题   在Windows GDI或WinForm开发中复杂的GUI应用程序,会使用的大量的控件,如Grid等.而每个控件或Grid cell都是一个小窗口,会使用一个Window…
该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm一直比较感兴趣,这几年积累收藏了不少文章,现在整理一下分类推荐给大家,避免大家浪费大把的时间去找这方面的资料,因为找资料也是一件很累的事情,Google,Baidu一下,不断的点击,不断翻阅大量的博客文章,查找自己所需的.这个系列初步打算分入门介绍(开发环境搭建,.net基础概念), 基本控件使用(…
本章简言 上一章笔者介绍了关于WinForm环境.这一章笔者将继续讲WinForm.只不过更加的面向开发了.事实就是在学习工具箱里面的控件.对于WinForm开发来讲,企业对他的要求并没有那么高.但是如果是游戏相关的话,不好意思!笔者觉得你可能选错语言了.C++可能更合适你.有一点希望读者们明白.下列讲到的内容是笔者在开发用的.只能辅助你学习,却不能成为教材.上一章讲到WinForm开发就是JAVA的Awt和Swing编程.笔者在做Awt和Swing已经过去四年多了.如果记得没有错的话,在设计窗…
Form是WinForm开发中非常重要的一个控件, 本文将包含如何制作一个关于对话框,系统载入提示窗体, 创建类似于QQ提示框以及创建不规则窗体等(文章及相关代码搜集自网络,仅供学习参考,版权属于原作者! ). 1.愚翁专栏 CSDN第一期总结之一:Form问题 Form问题是最基本的问题,因为编写WinApp程序首先接触的对象就是它,因此在论坛中对它而产生的问题也最常见.与Form相关的常见问题大致分为如下的四类问题. 第一类问题:如何控制窗体的显示顺序: 第二类问题:窗体之间的对象如何相互引…
在Winform开发中有时候我们为了不影响主UI线程的处理,以前我们使用后台线程BackgroundWorker来处理一些任务操作,不过随着异步处理提供的便利性,我们可以使用Async-Awati异步任务处理替换原来的后台线程BackgroundWorker处理方式,更加的简洁明了. 在一些耗时的操作过程中,在长时间运行时可能会导致用户界面 (UI) 处于停止响应状态,因此使用使用Async-Awati异步任务处理或者后台线程BackgroundWorker来处理一些任务操作很有必要. 在使用B…
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库完成一个法律咨询管理系统.本系统要求类似网页后台管理效果,并且基于局域网内,完成多客户端操作同一数据库,根据权限不同分别执行不同功能模块.核心模块为级联统计类型管理.数据库咨询数据扇形统计.树的操作.咨询数据的管理.手写分页.Excel数据的导出.多用户操作服务器数据等.并支持多用户同时操作,远程连…
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库完成一个法律咨询管理系统.本系统要求类似网页后台管理效果,并且基于局域网内,完成多客户端操作同一数据库,根据权限不同分别执行不同功能模块.核心模块为级联统计类型管理.数据库咨询数据扇形统计.树的操作.咨询数据的管理.手写分页.Excel数据的导出.多用户操作服务器数据等.并支持多用户同时操作,远程连…
对于一些较小的项目,具备一定经验的开发人员应该能够设计和构建出便于进行维护和扩展的应用程序.但是,随着功能模块数量(以及开发维护这些部件的人员)的不断增加,对项目实施控制的难度开始呈指数级增长. SailingEase WinForm 框架为您提供了针对此问题提出的解决方案.在本文中,将对基于SailingEase WinForm 框架的复合应用程序的定义进行解释,并简要说明如何才能构建一个基于 SailingEase WinForm 框架功能的复合应用程序. 传统的单一应用程序 传统的单一应用…
1.Winform数据访问模式定义 传统的Winform程序模块:用于传统的数据库通讯获取数据,这种方式获取数据,方便快捷,可以用于常规的业务系统的场景,用于单机版软件或者基于局域网内的业务系统软件. WCF的Winform程序模块:采用了WCF技术的分布式开发模式,系统能够通过远程的WCF服务获取数据,而不用直接和数据库相连,提高数据的安全性和可维护性,适用于互联网.局域网环境下的业务系统的搭建,是一种稳定.安全的框架应用. 混合式Winform程序模块:是指混合了传统数据访问和WCF数据访问…
阅读导航 Navi.Soft30.Core类库.开发手册 http://www.cnblogs.com/xiyang1011/p/5709489.html Navi.Soft30.框架.WinForm开发手册 http://www.cnblogs.com/xiyang1011/p/5709635.html 1概述 1.1应用场景 尽管互联网高速发展,互联网软件也随之越来越多,但桌面应用程序在某些领域中还是不可替代,如MIS,ERP,CRM等软件产品,同时,这类软件均包括一些通用的功能,如:与数据…
在Winform开发中,客户体验是个很好的参考性指标,如果一个功能使用的时候感觉很流畅,说明我们的程序执行效率还不错,但是随着数据的真多,原先可能流程的地方可能会变得比较卡,这时候就需要追本索源,找到症结并进行处理.但是,如果我们对Winform开发有一定的经验积累,有些耗时缓慢的界面处理一开始还是比较容易避免,本文介绍一些在开发过程中的一些界面性能上的优化处理,希望对大家有帮助. 1.案例说明 在我开发的CRM系统中,系统的一些用户如经办人员,来自权限管理系统,因此在开发的时候,并没有模拟太多…
本人做Winform开发多年,孜孜不倦,略有小成,其中收集或者自己开发一些常用的东西,基本上在各个项目都能用到的一些开发经验及知识积累,现逐步介绍一些,以飨读者,共同进步. 1.窗口[×]关闭按钮变为最小化,并在托盘提示信息 一般有些管理系统,为了防止客户随意关闭程序或者基于其他原因,一般会把 窗口[×]关闭按钮变为最小化,如大家熟悉的飞信.MSN等等,但是有些不是很熟悉的客户,最小化到托盘的时候,却不知道程序到了那里去了,因此,最小化的时候,伴随一个气泡提示信息,显得有一定的必要,如下截图所示…
原文:C# WinForm开发系列 - WebBrowser 介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集的文章中有可能还带了一些Asp.Net开发使用微软的WebBrowser进行页面打印方面文章. 01. vs2005中的WebBrowser控件的简单应用 02. WebBrowser控件的简单应用2 03. WebBrowser控件应用:弹出新窗体和关闭窗口 04. WebBrowser控件应用:…
开发使用混合式Winform模块 1.Winform数据访问模式定义 传统的Winform程序模块:用于传统的数据库通讯获取数据,这种方式获取数据,方便快捷,可以用于常规的业务系统的场景,用于单机版软件或者基于局域网内的业务系统软件. WCF的Winform程序模块:采用了WCF技术的分布式开发模式,系统能够通过远程的WCF服务获取数据,而不用直接和数据库相连,提高数据的安全性和可维护性,适用于互联网.局域网环境下的业务系统的搭建,是一种稳定.安全的框架应用. 混合式Winform程序模块:是指…
GitHub:https://github.com/iccb1013/Sheng.Winform.IDE 在上一篇文章中,简要的介绍了  Sheng.Winform.IDE 的基本功能和要实现的目标: Github 开源:使用 .NET WinForm 开发所见即所得的 IDE 开发环境(Sheng.Winform.IDE)[1.基本介绍] http://blog.shengxunwei.com/Home/Post/30bcf36f-5ff7-412b-bb47-763ce9218bce 在这一…
在设计界面的时候,不管是在Web端,还是在Winform端,或者是WPF或者移动界面等应用上,我们对界面的组织布局,一直是比较有趣的话题,而组织界面的好坏从用户的感受来看,可以提供程序可使用性高低,也体现了开发者的开发界面的功力.良好的界面布局,可以使得我们组织内容更加合理,也更加美观.本篇随笔主要罗列我自己在开发Winform界面的时候,对界面的组织布局的一些小小案例和心得. 界面的组织布局,我这里分为了三个部分,一个是主界面组织布局.列表界面组织布局.新增编辑界面组织布局. 1.主界面组织布…
随着时间的推移,Winform也算是能够坚持下来最久的技术之一了,它的昔日辉煌和现今的依旧活跃,导致了它依旧拥有者很庞大的用户群体,虽然目前很多技术日新月异的,曾经的ASP.ASP.NET WebForm.Asp.NET MVC.WPF等技术基本上淡出了视野,而迎来了.NET Core.UWP等技术应用,.NET Core也给.NET迎来了一次重要的涅槃重生的契机,可以更高效的运行在各种平台上,从而激发了.NET的又一春.Winform的技术虽然基本上已经压缩在一定的范围内,不过由于的用途广泛,…
2015-01-24 DevExpress控件库默认安装后,使用的本地资源为英文.Developer Express .NET产品都有本地化资源,比如按钮属性,控件属性描述,菜单项,确认和错误的信息等等,所有这些资源字符串可以很容易地被翻译成各种语言.对于要求使用中文汉字资源的项目来说,首要任务就是处理汉化. 在WinForm开发模式下,处理汉化相对简单.有以下几种方法. 方法一:使用已经制作完成的汉化资源DLL 对于早期的DevExpress版本,已经有制作好的汉化资源DLL,例如:基于v13…
FastReport.Net是一款适用于Windows Forms, ASP.NET和MVC框架的功能齐全的报表分析解决方案.可用在Microsoft Visual Studio 2005到2015,支持.Net Framework 2.0到4.x.我下载了一个FastReport进行测试使用,这个报表功能还是很强大的. 对其中FastReport的一些功能,我编写整理了一个小小的案例进行介绍,进行了简单的测试记录,希望对了解FastReport的使用有帮助.案例界面功能如下所示. 1.Fast…
http://blog.csdn.net/blue_sky6/article/details/53811435?locationNum=6&fps=1 C# WinForm开发系列 - GDI+ Posted on 2009-07-19 15:23 peterzb 阅读(48850) 评论(17) 编辑 收藏 UI(User Interface)编程在整个项目开发过程中是个颇为重要的环节,任何好的解决方案若没有良好的用户界面呈现给最终用户,那么就算包含了最先进的技术也不能算是好程序.UI编程体现…
主窗体中代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnOpen_Click(object sender, EventArgs e) {//点击弹出方法 FrmChild frmChild = new FrmChild(); frmChild.ShowDialog(); if (frmChild.DialogResult == System.Wind…
DataGridView控件可谓是Winform开发的重点控件,对于数据的呈现和操作非常方便,DataGridView可谓是既简单又复杂.简单在于其已经集成了很多方法,复杂在于可以使用其实现复杂的数据呈现和操作. 本文是入门级培训,先介绍DataGridView的简单应用,复杂的应用在后续的博文中会一一呈上. DataGridView主要是呈现数据和数据操作的,那自然离不开数据. 首先是数据绑定,DataGridView的数据源可以是DataSet.DataTable或Ilist等,至于Data…