木子屋 Dnawo's BLOG

分类:Win编程

共 358 篇

第一个WPF应用程序:Hello World!

今天体验了下WPF,它和WinForm的区别是把Designer.cs文件换成了xaml文件,xaml是一个xml文件,设计人员设计好UI生成xaml文件,开发人员无需修改直接替换项目文件就可使用,非常方便,最大程度实现UI和程序的分离。 MainWindow.xaml: MainWindow.xaml.cs:

减少.NET应用程序内存占用的一则实践[转]

最近一周比较忙,主要的工作内容是在做一个叫“键盘精灵”的东西,简单来讲就是将很多数据放到内存中,对这些数据进行快速检索,然后找出根据输入条件最匹配的10条记录并予以展示。具体和下面两款炒股软件的相关功能类似: 数据以文本形式存在文件中,且数据量较大,有近20万条,每一条记录有几个字段,以分隔符分割。当时使用的是6万条记录的测试数据,文本文件将近10M,这个模块加载到内存并建立缓存之后,大概会占用将近70-80M的内存。自我接手以后,主要的任务就是降低内存消耗和提高匹配效率。 一、避免创建不必要的对象 拿到代码后,第一步就是看设计文档,然后断点一步一步的看代码,大概明白了逻辑之后,发现思路有一些问题。之前的代码处理流程思路大概是下面这样的:…

C#模拟客户端发送数据示例

在给一些客户端做服务器端支持时,发现他们提交上来的数据大都不是http请求格式,因而使用Request.Form获取不到内容,今天用C#做下模拟,并演示下数据接收。 1.发送文本 1).客户端发送文本 2).服务器端接收文本 说明:只需增加request.ContentType = "application/x-www-form-urlencoded",并将文本格式改为"data=木子屋",服务器端即可用Request.Form接收。 2.上传文件 1).客户端上传文件 2).服务器端接收文件

Visual Studio 2010新建项目失败:写入项目文件时出错。没有注册类别

在Windows Server 2003上安装Visual Studio 2010,先是安装前提示缺少Windows图像处理组件: 安装完成后,新建项目(Windows窗体应用程序)又失败,提示写入项目文件时出错。没有注册类别。 解决方法 下载安装Windows图像处理组件和msxml6.msi即可解决。 ·图像处理组件下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=32 ·msxml6.msi下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=3988

Visual Studio 2012安装项目使用示例

在Visual Studio 2012创建安装项目,需要InstallShield Limited Edition for Visual Studio(下边简称InstallShield)的支持,剩下的按提示输入应用程序信息、选择要打包的文件以及创建的快捷方式等即可完成打包过程。 1.InstallShield下载和安装 若是第一次在Visual Studio 2012创建安装项目,会打开一个页面,提示要先下载安装InstallShield: 打开InstallShield下载页面,输入邮件地址及其他信息,点击"Download Now"即可下载。稍后邮箱会收到一个验证码,用于激活InstallShield。…

WinForm使用皮肤控件IrisSkin示例

1.皮肤控件IrisSkin使用步骤 ①.为项目添加引用IrisSkin4.dll; ②.在Windows窗体构造函数中设置皮肤: 说明:.NET Framework 4.0项目使用IrisSkin4.dll,.NET Framework 2.0项目使用IrisSkin2.dll。 2.IrisSkin皮肤预览

sql和linq转换示例

1.查询 sql: linq(查询语法): linq(方法语法): 2.排序 sql: linq(查询语法): linq(方法语法): 3.分组 sql: linq(查询语法): linq(方法语法): 4.连接 sql: linq(查询语法): linq(方法语法): 5.左连接 sql: linq(查询语法): linq(方法语法):

C#取整函数Math.Round、Math.Ceiling和Math.Floor

1.Math.Round:四舍六入五取偶 Math.Round(0.0) //0 Math.Round(0.1) //0 Math.Round(0.2) //0 Math.Round(0.3) //0 Math.Round(0.4) //0 Math.Round(0.5) //0 Math.Round(0.6) //1 Math.Round(0.7) //1 Math.Round(0.8) //1 Math.Round(0.9) //1 说明:对于1.5,因要返回偶数,所以结果为2。 2.Math.Ceiling:只要有小数都加1 Math.Ceiling(0.0) //0 Math.Ceiling(0.1) //1…

Entity Framework批量导入数据越来越慢解决方法

之前有一些json数据保存在文本文件中,十几个文件,每个文件数据量差不多。昨天尝试用EF将这些数据导入到数据库,程序运行时发现处理每个文件所用的时间越来越长,代码简化如下: 为找出问题的原因,对代码稍做修改,记录下各个操作所用的时间: 输出文本: Add:907,Save:8909 Add:5640,Save:8702 Add:10734,Save:8752 Add:15841,Save:8695 Add:20978,Save:8754 Add:26066,Save:9053 Add:31178,Save:8597 Add:36250,Save:8639 Add:41369,Save:8728…

Prohibited package name: java.mzwu.com

在Java Project添加了一个类Project1: 结果运行出错,提示: Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.mzwu.com at java.lang.ClassLoader.preDefineClass(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source)…