随笔分类 - C# & .NET
摘要:前言 在使用wpf构建一个窗体时,其中有这样一个功能,在保存数据或加载数据时,我们希望在改变标题栏的显示以标志当前保存成功的状态或者加载数据的名称信息,而且标题信息更新显示几秒后,再恢复到默认的状态。那么为了满足这个需求我们要解决两个问题: (1)如何在点击保存或选择相应数据后,改变标题栏的显示?
阅读全文
摘要:前言 最近在项目中需要不断更新新版本的software installer(软件安装包),于是便查阅资料,整理了下制作方法。 NSIS安装包制作脚本 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸
阅读全文
摘要:前言 基本上任何software或application都会在help菜单中,有着一个关于对话框,介绍产品的版权、版本等信息,还有就是对第三方的引用(add author credits)。 首先,看下常用软件的关于对话框: 言归正传,进入正题,介绍下我在进行这部分开发时的三种方法: 由于用到了很多
阅读全文
摘要:首先下载ionic.Zip.dll,然后在项目中添加该引用,之后就可以在cs中使用了: PS:C#如何以管理员身份运行程序 【 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误。】 在Visual Stud
阅读全文
摘要:一、添加回车(enter)事件 在C#编程时,有时希望通过按回车键,控件焦点就会自动从一个控件跳转到下一个控件进行操作。 以用户登录为例,当输入完用户名和密码后, 需要点击登录按钮,而登录按钮必须获得焦点, 一般的办法是用鼠标去点击就可以了。但是这样用户体验就会差一些(因为这样既要操作鼠标,又要操作
阅读全文
摘要:Windows Presentation Foundation(WPF)独立应用程序有两种类型的图标: 一个程序集(assembly) 图标,通过在应用程序的项目构建文件中使用<ApplicationIcon>属性指定。该图标用作装配体(assembly)的桌面图标。 通过设置Icon给每个窗口指定
阅读全文
摘要:(1)https://stackoverflow.com/questions/5652527/editable-wpf-listview (2)How to: Create a ListView with Editable Cells
阅读全文
摘要:前言 IronPython 是一种在 .NET 及 Mono上的 Python 实现,由微软的 Jim Hugunin(同时也是 Jython 创造者) 所发起,是一个开源的项目,基于微软的 DLR 引擎。在 2007 年,开发者决定改写构架,使用动态类型系统以让更多脚本语言能很容易地移植到NET
阅读全文
摘要:在使用中,我们经常遇到文本框中只允许输入数字(整型数或浮点数...) 的情况,如果我们输入特殊字符(字母和符号...),在获取其输入值时,如果先做判断或其他处理,会直接导致application发生crash。 那么开发限制性输入文本框的需求就应运而生。已经有了很多现成的尝试: (1)https:/
阅读全文
摘要:前言 I should know how I am supposed to exit my application when the user clicks on the Exit menu item from the File menu. 或者点击window右上角的X退出应用。 但是退出应用程序
阅读全文
摘要:前言 学习C#两个多月了,像当初实习做PHP开发一样,也是由着一个个Feature需求,慢慢掌握了很多相关的编程技巧。本次主要记录下学习C# 多线程的相关知识。 参考书籍:《Csharp高级编程(第7版)》 1.使用线程的原因 不过运行多个线程也要注意一些问题:他们可以同时运行,但是如果线程访问相同
阅读全文
摘要:参考: 1.https://stackoverflow.com/questions/950770/autocomplete-textbox-in-wpf 2.AutoCompleteBox的使用(实现下拉列表) 3.A Reusable WPF Autocomplete TextBox A Reus
阅读全文
摘要:参考:How-to: ListView with column sorting
阅读全文
摘要:前言——资源说明 目前网上设计模式的介绍可谓非常之多(各种编程语言的版本),其中不乏精细之作,本文的目的在于搜集和整理C#或C++的设计模式,毕竟思想还是共通的! 设计模式的分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器
阅读全文
摘要:一、资源说明 (1)本文参考自: 一步步走进WPF的MVVM模式(二):数据绑定 WPF之数据绑定总结 二、正文 数据绑定 (Data Binding)是WPF最重要的特性之一,也是实现 MVVM(WPF) 模式的一大支柱。 简而言之,数据绑定就是将两个属性绑定在一起,源属性(source)改变带动
阅读全文
摘要:背景 Visual Studio项目开发过程中,开发人员会开发出DLL,EXE可执行文件等。可执行程序在复制到服务器之前,需要把相关的DLL、PDB,可执行文件,批处理文件和配置文件组织在一起打包。但是程序可能仅生成一个DLL和PDB,而其他的文件需要引用公共库的DLL,从而需要手动复制的工作,基于
阅读全文
摘要:一、C#中使用相对路径读取配置文件 一般Solution的目录结构如下图所示: (如过看不到某些文件,可以点击 “显示所有文件” 图标) 方法一:由于生成的exe文件在bin\debug目录下,可以使用向上查找目录的方式获取要读取的xml文件 string tPath = @"../../Conve
阅读全文
摘要:前言 在项目中,我们经常用到各种配置文件,比如xml文件、binary文件等等,这里主要根据实践经验介绍下xml文件的序列化和反序列化(毕竟最常用)。 实践背景:我要做一个用户管理功能,用户账号信息存储在xml/binary文件中,需要对其进行读写,而且为了不让用户修改,必须对其加密,当时想的有3种
阅读全文
摘要:前言 之所以研究Ninject,是因为初入职在开发XX项目的ComponentService部分时用到了它,一下子发现了它的强大。渐渐地发现在项目中,有时会用到优秀的第三方开源库,这些都是前人智慧的结晶,值得学习和应用。 1.简介 Ninject(官网:http://www.ninject.org/
阅读全文
摘要:前言 本文主要讲述委托和Lambda表达式的基础知识,以及如何通过Lambda表达式实现委托调用,并阐述.NET如何将委托用作实现事件的方式。 参考:C#高级编程 1.什么是委托(delegate)? delegate是C#中的一种类型,它是一个能够持有对某个方法的引用的类。与其它类不同的是,del
阅读全文