随笔分类 -  winForm

c# winform比较有意思。
摘要:值无效,可能是你下拉框选项,没有这样的值,而你却设置这个值。 dataGridView1.Rows[i].Cells[1].Value = "选项一"; 解决方法就是在窗体的构造函数里添加如下代码: this.dataGridView1.DataError += delegate(object sender, DataGridViewDataErrorEventArgs e) { }; 阅读全文
posted @ 2014-03-23 11:07 大气象 阅读(6784) 评论(0) 推荐(0) 编辑
摘要:添加MouseEnter()与MouseLeave()事件。 阅读全文
posted @ 2012-08-09 19:56 大气象 阅读(4379) 评论(3) 推荐(2) 编辑
摘要:刚刚在删除和设置ListBox中的选中项的时候遇到这种错误提示。 原因是遍历ListBox中的Items的时候同时操作Item. 解决办法就是改foreach()遍历Items为for()遍历Item[i] 阅读全文
posted @ 2012-07-31 08:59 大气象 阅读(2571) 评论(4) 推荐(3) 编辑
摘要:通过:dataGridView1.TopLeftHeaderCell.Value = "表头\n回车";设置表头。 阅读全文
posted @ 2012-07-17 09:58 大气象 阅读(10768) 评论(3) 推荐(1) 编辑
摘要:主要是重写OnKeyPress事件,如果输入不正确就不接收字符。 阅读全文
posted @ 2012-07-03 14:36 大气象 阅读(1619) 评论(5) 推荐(2) 编辑
摘要:如果ComboBox宽度不够,需要鼠标经过时显示完整提示,就添加鼠标经过事件。 如果希望点击下拉时也显示提示,重写ComboBox添加鼠标经过提示。 阅读全文
posted @ 2012-06-27 08:48 大气象 阅读(5829) 评论(1) 推荐(1) 编辑
摘要:如果是TextBox可以通过KeyPress()事件,让用户无法输入非法数据。 DataGridView中的单元格,无法通过KeyPress()控制,可能我没找到方法。 通过CellValidating()在用户结束编辑时判断,如果不合法则还原数据。 阅读全文
posted @ 2012-06-14 08:38 大气象 阅读(11211) 评论(3) 推荐(1) 编辑
摘要:键盘事件是在用户按下键盘上的一个键的时候发生的,可分为两类。第一类是KeyPress事件,当按下的键表示的是一个ASCII字符的时候就会触发这类事件,可通过他的KeyPressEventArgs类型参数的属性KeyChar来确定按下的键的ASCII。使用KeyPress时间无法判断是否按下了修改键(Shift,Alt和Ctrl),为了判断这些动作,就要处理KeyUp 或KeyDown事件,这些时间组成了第二类事件。该类事件有一个KeyEventsArgs类型参数,通过该参数可以测试是否按下了一些修改键。 阅读全文
posted @ 2012-05-15 08:16 大气象 阅读(19946) 评论(7) 推荐(7) 编辑
摘要:步骤一:新建类库项目,新建FirstControl.cs 步骤二:编译,添加项目引用即可。 这里的重点是控件界面也要由自己绘。 阅读全文
posted @ 2012-04-27 10:22 大气象 阅读(7084) 评论(3) 推荐(1) 编辑
摘要:自定义控件分三类: 1.复合控件:基本控件组合而成。 2.扩展控件:继承基本控件,扩展一些属性与事件。 3.自定义控件:直接继承自UserControl 阅读全文
posted @ 2012-04-25 16:33 大气象 阅读(21316) 评论(0) 推荐(4) 编辑
摘要:好像CodeProject里有功能非常强大的类似控件,这里没必要用自定义控件。 左右移动就是简单的选择项增加删除,上下移动使用了高级语法,值得一学。 阅读全文
posted @ 2012-03-27 15:02 大气象 阅读(4059) 评论(2) 推荐(2) 编辑
摘要:PropertyGrid直接绑定Dictionary显示的是数据类型,若要显示为Text|Value需要处理一下。 阅读全文
posted @ 2012-03-26 08:41 大气象 阅读(3242) 评论(0) 推荐(1) 编辑
摘要:TreeView用法值得总结一下,今天用到了,一时忘了怎样执行选中节点事件。 阅读全文
posted @ 2012-03-23 10:35 大气象 阅读(21457) 评论(5) 推荐(2) 编辑
摘要:当用户焦点离开TreeView时,TreeView选中节点仍然高亮,但是颜色太浅,几乎看不出来。 这里重写一下DrawMode();可以控制选中节点颜色。 TreeView.HideSelection = False;可让选中节点保持高亮。 阅读全文
posted @ 2012-03-22 08:29 大气象 阅读(17269) 评论(11) 推荐(6) 编辑
摘要:桌面路径:Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); //获取DLL的目录 Assembly myAssembly = Assembly.GetEntryAssembly(); C#获取程序当前路径的方法 System.Environment.CurrentDirectory; 阅读全文
posted @ 2012-03-21 09:57 大气象 阅读(11563) 评论(3) 推荐(4) 编辑
摘要:设置窗体的ContextMenuStrip属性或者也可以在按钮单击事件里调出: 阅读全文
posted @ 2012-03-14 08:32 大气象 阅读(32854) 评论(6) 推荐(3) 编辑
摘要:完全透明的按钮,只在鼠标经过时显示边框线。 属性Button.Image设置图片按钮,可与背景完美结合。 阅读全文
posted @ 2012-03-13 08:33 大气象 阅读(13068) 评论(5) 推荐(2) 编辑
摘要:在项目属性面版->调试->命令行参数设置。空格分隔。 读取:string[] str = Environment.GetCommandLineArgs(); 阅读全文
posted @ 2012-03-09 13:18 大气象 阅读(20614) 评论(0) 推荐(3) 编辑
摘要:拿来主义吧,先满足我的需求再说。 dataGridView1.RowHeadersVisible = false; 把整行选中那一列去掉。如果需要整行选中,新增一按钮列模拟实现。 阅读全文
posted @ 2012-03-05 16:58 大气象 阅读(33695) 评论(8) 推荐(11) 编辑
摘要:把文件或者目录直接拖放到你的程序上,这种效果用户体验不错。 得到拖过来的路径的代码:(System.Array)e.Data.GetData(DataFormats.FileDrop) 然后你可以根据这些路径复制粘贴了。 阅读全文
posted @ 2012-03-05 11:43 大气象 阅读(6185) 评论(1) 推荐(2) 编辑

http://www.tianqiweiqi.com