改变 PropertyGrid 控件的编辑风格(1)——加入日期控件
来源:互联网 发布:魔兽对战平台mac 编辑:程序博客网 时间:2024/06/05 03:10
改变 PropertyGrid 控件的编辑风格(1)——加入日期控件
张昱e-zhangyu@vip.sina.com
效果:
适用场合:
编辑日期类型数据
步骤一:定义从UITypeEditor 派生的类,示例如下:
using System;
using System.Windows.Forms;
using System.Drawing.Design;
using System.Windows.Forms.Design;
namespace blog.csdn.net.zhangyuk
{
/// <summary>
/// 在 PropertyGrid 上显示日期控件
///
/// </summary>
public class PropertyGridDateItem : UITypeEditor
{
MonthCalendar dateControl = new MonthCalendar();
public PropertyGridDateItem()
{
dateControl.MaxSelectionCount = 1;
}
public override UITypeEditorEditStyle GetEditStyle(
System.ComponentModel.ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.DropDown;
}
public override object EditValue(
System.ComponentModel.ITypeDescriptorContext context,
System.IServiceProvider provider,
object value)
{
try
{
IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)
provider.GetService(typeof(IWindowsFormsEditorService));
if( edSvc != null )
{
if( value is string )
{
dateControl.SelectionStart = DateTime.Parse( value as String );
edSvc.DropDownControl( dateControl );
return dateControl.SelectionStart.ToShortDateString();
}
else if( value is DateTime )
{
dateControl.SelectionStart = (DateTime)value;
edSvc.DropDownControl( dateControl );
return dateControl.SelectionStart;
}
}
}
catch( Exception ex )
{
System.Console.WriteLine( "PropertyGridDateItem Error : " + ex.Message );
return value;
}
return value;
}
}
}
步骤二:编辑属性类,指定编辑属性。示例如下:
namespace blog.csdn.net.zhangyuk
{
public class SomeProperties
{
private string _finished_time = "";
……
[
Description("完成时间"),
Category("属性"),
EditorAttribute(typeof(PropertyGridDateItem),
typeof(System.Drawing.Design.UITypeEditor))
]
]public String 完成时间
{
get { return _finished_date; }
set { _finished_date = value;}
}
……
}
}
步骤三:设置PropertyGrid的属性对象。示例如下:
private void Form1_Load(object sender, System.EventArgs e)
{
this.propertyGrid1.SelectedObject = new SomeProperties();
}
- 改变 PropertyGrid 控件的编辑风格(1)——加入日期控件
- 改变 PropertyGrid 控件的编辑风格(1)——加入日期控件-.NET教程,组件控件开发
- 改变 PropertyGrid 控件的编辑风格(4)——加入选择列表
- 改变 propertygrid 控件的编辑风格(4)——加入选择列表
- 改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本
- 改变 propertygrid 控件的编辑风格(2)——编辑多行文本
- 改变 PropertyGrid 控件的编辑风格(3)——打开对话框
- 改变 propertygrid 控件的编辑风格(3)——打开对话框
- PropertyGrid控件的使用1
- 【Visual Studio风格开发系列 - PropertyGrid控件】C# 充分利用 .NET 框架的 PropertyGrid 控件
- 编辑框控件的风格
- NET 的 PropertyGrid 控件
- PropertyGrid控件的学习
- PropertyGrid控件的使用
- Ext属性表格控件——PropertyGrid
- 改变PropertyGrid中Property的编辑方式
- PropertyGrid控件的使用2
- PropertyGrid控件的使用3
- Use the ItemDataBound event to customize the DataGrid control.
- dataGrid前台修改数据,不刷新页面
- A Map instance
- use ItemCreated to set the page style of DataGrid
- 自定义控件(可以动态加载用户控件)
- 改变 PropertyGrid 控件的编辑风格(1)——加入日期控件
- Perform the Edit//Cancel//Update//Delete function of the DataGrid.
- osworkflow 小培训(1)
- 浅谈WebForm中DataGrid的ItemDataBound事件
- 怎么对数据库进行压缩处理
- 【翻译】用EXcel扩展.NET应用程序
- 改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本
- 存储过程DataGrid分页及注意点
- Socket:SendMail