03 2014 档案
Dispatcher.Invoke方法
摘要:前一篇小猪分享过在WPF中简单的使用BackgroundWorker完成多线程操作!在那篇中小猪利用了BackgroundWorker组件对耗时比较多的操作放在了单独的BackgroundWorker里来完成,例如说:网络请求的登录操作,说到网络请求当然还有另外一种请求:网络下载。当客户端需要进行网络下载操作时如果只是简单的用多线程这么一个操作而不给用户知道当前的下载进度的话那么用户将不知道已经下载了多少,甚至有可能直接关闭了主应用程序。那就杯具了。这时候就涉及到在另外的线程中来更新UI,但是WPF却明确的规定:UI元素只能由其主线程来操作,其他任何线程都不可以直接操作UI。而实时的下载进度又
阅读全文
IEnumerable接口的Aggregate方法
摘要:以前小猪为了累加一个集合中的类容通常会写出类似这样的C#代码:string result ="":foreach (var item in items){ result+=item.centent;}大概意思就是遍历集合中的每一项来累加其中的一个值。今天小猪才发现其实.NET的集合已经提供了该功能:那就是小猪现在讲的IEnumerable接口的Aggregate方法:该方法提供了两个重载版本版本1:Aggregate(Func):已重载。 对序列应用累加器函数。 (由 Enumerable 定义。)版本2:Aggregate(TAccumulate, Func)已重载。 对
阅读全文
Server.UrlEncode()方法 空格转换成了+而非%20
摘要:在ASP.NET MVC 的Control类里提供了该方法。该方法可以很方便的对字符串进行url编码,但小猪今天却发现其将空格编码后变成了“+”而非JavaScript采用的encodeURIComponent()编码之后的%20。也许这算一个bug也许也不算。仔细想想在我们的url中确实不会存在空格,但是文件系统的命名却是可以使用空格的(Program Files),所以必须将空格转码。那为什么在.Net下回转换成+而在js中会是%20呢?关键问题是在encode成+之后再decode却不能转换成了空格了呀。这确实是个蛋疼的问题。引用了老外的一段描述:引用:As far as I know,
阅读全文
Html=>Head=>meta
摘要:如今智能机遍布大街小巷,所以,如今的前端攻城师们要大 跨步的迈向移动互联网了,更何况Web App也应用广泛,可能原理还一样,但是一定会有新的东西出现,那就从“头”开始,看看头部那些Meta的新玩意。1、这是一个移动端最常用的meta,定义页面的缩放,如上代表宽度以终端宽度为准,并且不允许用户缩放,更多属性如下:width -- 宽度(范围从200到10,000,默认为980像素/device-width缩放至终端宽度)height -- 高度(范围从223到10,000)initial-scale -- 初始的缩放比例 (范围从 > 0 到 10)minimum-scale -- 允许
阅读全文
使用OpenFileDialog会更改默认程序目录
摘要:这个问题可能只有在特定的程序中会发现:当我们在程序中使用相对路径时是依赖于当前目录的。所以在使用类似代码:XElement rootNode = XElement.Load(@"zips/"+book.Id+"/"+src);时程序会加载当前dll文件下的zips文件夹下的对应文件。而如果这个时候如果我们在窗体上使用了OpenFileDialog打开文件后,对应的默认文件夹就会做了相应的改变,使用同样的语句可能就会报错。见如下测试代码:OpenFileDialog open = new OpenFileDialog();open.Filter = fil
阅读全文
WPF 让Enter键按下时默认为某按钮(Button)事件
摘要:在编写web程序时我们经常用到按Enter键来提交表单,在WPF中我们也常常需要这样的功能:例如在填写登录框信息时当填写完密码之后我希望直接按Enter键就能完成登录操作。这个需求如何来完成呢?其实很简单,在需要执行的按钮中修改属性IsDefault属性设置为true即可:参考:http://stackoverflow.com/questions/4194470/how-to-make-a-submit-button-in-wpf
阅读全文
让窗体大小固定、任务栏不显示
摘要:窗体大小调整Windows下的ResizeMode属性: ResizeMode = NoResizeResize属性是控制Windows是否可以改变大小,怎样改变大小的属性。ResizeMode的所有枚举如下:成员名称说明NoResize无法调整窗口的大小。标题栏中不显示“最小化”和“最大化”按钮。CanMinimize只能最小化和还原窗口。同时显示“最小化”和“最大化”按钮,但只有“最小化”按钮处于启用状态。CanResize可以调整窗口的大小。同时显示“最小化”和“最大化”按钮,并且两个按钮均处于启用状态。CanResizeWithGrip可以调整窗口的大小。同时显示“最小化”和“最大化”
阅读全文
浙公网安备 33010602011771号