博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年7月23日

摘要: 在.NET上如何根据字符串动态创建控件 在.Net上用字符串动态创建控件是通过反射来实现。首先,利用System.Type.GetType方法,获得字符串中指定的控件的类型实例。这里需要注意这个字符串的语法,根据msdn的解释:按名称和签名隐藏会考虑签名的所有部分,包括自定义修饰符、返回类型、参数类型、标记和非托管调用约定。这是二进制比较。对于反射,属性和事件按名称和签名隐藏。如果基类中有同时带 get 访问器和 set 访问器的属性,但派生类中仅有 get 访问器,则派生类属性隐藏基类属性,并且您将无法访问基类的设置程序。自定义特性不是通用类型系统的组成部分。不对数组或 COM 类型执行搜索 阅读全文

posted @ 2011-07-23 22:33 itcfj 阅读(176) 评论(0) 推荐(0) 编辑

摘要: 从 DataGridView 控件 托放数据 到 TreeView控件实现方法,在datagridview的mousedown事件中开始 托放。然后在treeview 的 DragEnter 中接收托放。最后在treeview的 DragDrop 中处理托放结果。注:treeview的allowdrop属性要设置为 true。:1privatevoiddataGridView1_MouseDown(objectsender,MouseEventArgse)2{3if(e.Button==MouseButtons.Right)4{5DataGridView.HitTestInfoinfo=dat 阅读全文

posted @ 2011-07-23 22:09 itcfj 阅读(181) 评论(0) 推荐(0) 编辑

摘要: DataGridView的一些技巧最近一直跟DataGridView打交道,突然觉得很多技巧性的东西很模糊,经过最近的个人实验操作和从网上查到的资料把对DataGridView操作的一些技巧总结和借鉴了一下,总结如下:1、自定义列 Customize Cells and Columns in the Windows Forms DataGridView Control by Extending Their Behavior and Appearance Host Controls in Windows Forms DataGridView Cells 继承 DataGridViewTextBo 阅读全文

posted @ 2011-07-23 21:26 itcfj 阅读(180) 评论(0) 推荐(0) 编辑

摘要: DataGridView 说明 ① 取得或者修改当前单元格的内容② 设定单元格只读③ 不显示最下面的新行④ 判断新增行⑤ 行的用户删除操作的自定义⑥ 行、列的隐藏和删除⑦ 禁止列或者行的Resize⑧ 列宽和行高以及列头的高度和行头的宽度的自动调整⑨ 冻结列或行⑩ 列顺序的调整? 行头列头的单元格? 剪切板的操作? 单元格的ToolTip的设置? 右键菜单(ContextMenuStrip)的设置? 单元格的边框、 网格线样式的设定? 单元格表示值的设定? 用户输入时,单元格输入值的设定? 设定新加行的默认值① DataGridView 取得或者修改当前单元格的内容:GO TO TOP当前单元 阅读全文

posted @ 2011-07-23 21:11 itcfj 阅读(204) 评论(0) 推荐(0) 编辑

摘要: DataGridViewCheckBoxColumn CheckBox是否选中 在判断DataGridView中CheckBox选中列的时候,用DataGridViewRow.Cells[0].FormattedValue.ToString()=="True"语句时存在问题,当我们直接点击CheckBox时,结果显示未选中,但是如果我们在点击其他单元格时,结果显示选中。而用DataGridViewRow.Cells[0].EditedFormattedValue.ToString()=="True"语句时不管怎么样是选中的状态。为什么会有这种结果? 原因 阅读全文

posted @ 2011-07-23 20:39 itcfj 阅读(847) 评论(0) 推荐(0) 编辑

摘要: 第一种:Alt + *(按钮快捷键)在大家给button、label、menuStrip等控件设置Text属性时在名字后边加&键名就可以了,比如button1.text= "确定(&O)"。就会有快捷键了,这时候按Alt+O就可以执行按钮单击事件。第二种:Ctrl+*及其他组合键在WinForm中设置要使用组合键的窗体的KeyPreview(向窗体注册键盘事件)属性为True;然后使用窗体的KeyDown事件(在首次按下某个键时发生).实例代码:private void ***_KeyDown(object sender, KeyEventArgs e){i 阅读全文

posted @ 2011-07-23 20:27 itcfj 阅读(730) 评论(0) 推荐(1) 编辑