摘要: 最近在项目中碰到这样的问题,经过搜索,发现是vs2010的版本不对,VS默认的版本是.NET Framework 4 Client Profile,需要将他更改为.NET Framework 4 版本。具体的操作步骤为:右键项目,查看项目属性,将目标框架由.NET Framework 4 Client Profile修改为.NET Framework 4即可。.NET Framework 4是.net的一个完整的开发框架和运行框架;.NET Framework 4 Client Profile是 .NET Framework 4的一个精简,.NET Framework 4 Client Pr. 阅读全文
posted @ 2013-11-21 14:51 深山居士 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 现在我以listview为例来讲述下拉刷新的功能! 在xaml中设置listview一定要设置一个这样的属性,IsSwipeEnabled=false,然后再listview控件的前面要布局下拉刷新的图标及提示,在listview控件的后面也要布局上拉时的提示信息。 现在我将个人的布局展现出来,仅供大家参考! ... 阅读全文
posted @ 2013-07-10 14:52 深山居士 阅读(1222) 评论(0) 推荐(0) 编辑
摘要: 一、先初始化treeview this.treeView1.CheckBoxes = true; this.treeView1.ShowLines = false; this.treeView1.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll; this.treeView1.DrawNode += new System.Windows.Forms.DrawTreeNodeEventHandler(this.treeView_Draw... 阅读全文
posted @ 2013-07-08 18:58 深山居士 阅读(18537) 评论(4) 推荐(3) 编辑
摘要: 1 DataTable dt = new DataTable(); 2 if (_list != null) 3 { //通过反射获取list中的字段 4 System.Reflection.PropertyInfo[] p = _list[0].GetType().GetProperties(); 5 foreach (System.Reflection.PropertyInfo pi in p) 6 { 7 dt.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString(... 阅读全文
posted @ 2013-07-08 18:51 深山居士 阅读(10961) 评论(1) 推荐(0) 编辑
摘要: 今天在项目中由于需要使用到datagridview绑定list的数据源,在针对list的添加、删除、修改都可以很好地完成,可是在初始化datagridview时,却发现了问题,绑定数据源后,并没有在列表中显示;最初代码是这样的:this.DgvData.DataSource = null;this.DgvData.ReadOnly = true;this.DgvData.RowHeadersWidth = 22;this.DgvData.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCe 阅读全文
posted @ 2013-06-27 19:04 深山居士 阅读(2860) 评论(0) 推荐(0) 编辑
摘要: 最近在做winform开发中,遇到几个比较寄售的问题,通过上网查找计和自己琢磨,最终都圆满解决呢! 现在我将谈谈我在项目中遇到的问题集解决方案,以供大家参考! 一、就是我在使用键盘的keydown事件时,我上下移动键盘的方向键时,发现不仅控件没移动,反而控件所在的页面的滚动条随着方向键的上下移动而变化,我开始以为是选择的控件没有获得焦点才导致滚动条发生变化,但是我尝试强制给控件添加焦点,滚动条还是变化!后来我分析可能是给添加控件的键盘事件不对,可是键盘常用的事件就那几个,逐一尝试后,发现还是不能控制滚动条的位置。后来经过上网搜索,最后发现必须得重写键盘事件才行。protected overr. 阅读全文
posted @ 2013-06-25 19:09 深山居士 阅读(4802) 评论(1) 推荐(0) 编辑
摘要: 这里介绍了几种方式之间的序列化与反序列化之间的转换首先介绍的如何序列化,将object对象序列化常见的两种方式即string和xml对象;第一种将object转换为string对象,这种比较简单没有什么可谈的; public string ScriptSerialize(T t) { JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Serialize(t); }第二种将object转换为xml对象: public... 阅读全文
posted @ 2013-01-28 10:38 深山居士 阅读(20104) 评论(1) 推荐(3) 编辑
摘要: 在讲截图之前,先看看怎么隐藏窗体,在winform中,隐藏窗体也许很简单,是的,直接调用hide()方法就可以隐藏呢!但是有时有这样的需求,比如你在窗体上布局了菜单,然后在隐藏窗体时你希望又可以调用,这时你就可以采用另外一种方式呢! private void Init() { SetStyle(ControlStyles.UserPaint|ControlStyles.AllPaintingInWmPaint|ControlStyles.OptimizedDoubleBuffer,true); TopMost = true; ... 阅读全文
posted @ 2013-01-24 17:04 深山居士 阅读(6315) 评论(0) 推荐(1) 编辑
摘要: 没接触之前,感觉模式比较困难,其实不然,其实只有短短的几部就可以实现呢!一、首先在页面新建contextMenuStrip 菜单项,然后再菜单里面添加你想要操作的步骤;二、就是补足鼠标右键事件; protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (e.Button == MouseButtons.Right) { contextMenuStrip.Show(this,e.Locatio... 阅读全文
posted @ 2013-01-23 19:40 深山居士 阅读(24301) 评论(2) 推荐(0) 编辑
摘要: 假设已知笔画墨迹的起始点坐标,触摸点的坐标很容易获取,下面就是找到要删除的墨迹的核心代码! private bool lineInterCircle(Point ptStart, Point ptEnd, Point ptCenter)//ptCenter目标坐标点 { double eraserRadius = 17; double fDis = Math.Sqrt((ptEnd.X - ptStart.X) * (ptEnd.X - ptStart.X) + (ptEnd.Y - ptStart.Y) * (ptEnd.Y - pt... 阅读全文
posted @ 2013-01-22 10:56 深山居士 阅读(181) 评论(0) 推荐(0) 编辑