编写自定义控件之下拉式属性

编写了一个自定义控件,控件有一个属性,需要用下拉式属性来设置值,

 //*************************************************************************************************//

        [TypeConverter(typeof(ControlsConverter))]    //指定一个转换器,就在下面
        [DefaultValue("Normal")]
        [Description("设置日期的选择范围")]
        public string DateRange
        {
            get
            {
                object o = ViewState["DateRange"];
                return (o == null) ? "" : o.ToString();
            }
            set
            {
                ViewState["DateRange"] = value;
            }
        } 

//*************************************************************************************************//

    public class ControlsConverter : StringConverter
    {
        StandardValuesCollection theValue = new StandardValuesCollection(new string[] {"Before Today", "Normal", "After Today"});
        
        //这一个override说明要用下拉列表编辑属性 
        public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
        {
            return true;
        }
        //这个override返回下拉列表项
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            return theValue;

        }
        //return ture的话属性只能选,return flase 属性可选可填 
        public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
        {
            return true;
        }

    }

时间: 2024-10-13 08:13:30

编写自定义控件之下拉式属性的相关文章

WinForm控件开发总结(九) 为属性提下拉式属性编辑器

在上一篇文章,我介绍了如何编写模态对话框属性编辑器,这篇文章我将介绍如何编写下拉式属性编 辑器.下拉式(DropDown)属性编辑器和模态对话框属性编辑器的不同之处就是,当你点击属性值修改的 时候,模态对话框编辑器是弹出一个模态对话框,而下拉式属性编辑器却是在紧贴着属性值的地方显示一 个下拉的控件.不知道大家注意到了没有,这里我说的是显示一个下拉的控件,而这个控件也是需要你去 开发的,接下来我还是以Scope属性为例,介绍一下具体的实现. 首先我们要创建一个用于编辑属性的控件,在本系列文章的开始

DIV下拉式菜单(一)

菜单|下拉 script> var cm=null; document.onclick = new Function("show(null)") function getPos(el,sProp) { var iPos = 0 while (el!=null) { iPos+=el["offset" + sProp] el = el.offsetParent } return iPos } function show(el,m) { if (m) { m.st

一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布

一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布 Linux的命令行是最好.最强大的东西,它使新手着迷,并为老手和极客的提供极其强大的功能.那些在服务器和生产环境下工作的人早已认识到了这个事实.有趣的是,Linux终端是Linus Torvald在1991年写内核时实现的第一批功能之一. 终端是个强大的工具,由于它没有什么可调整的部分,所以十分可靠.终端介于控制台环境和GUI环境之间.终端自身作为一个GUI程序,运行在桌面环境下.有许多终端是适用于特定的桌面环境的,其它的则是通

Gnome桌面的下拉式终端Guake简介

什么是Guake? Guake是应用于Gnome环境的下拉式终端.主要由Python编写,使用了一些C,它以GPL2+许可证发布,适用于Linux以及类似的系统.Guake的灵感来源于电脑游戏Quake(雷神之锤)中的终端,Quake的终端能通过按下特定按键(默认为F12)从屏幕上滑下来,并在按下同样的键后滑上去. 值得注意的是,Guake并不是第一个这样的应用.Yakuake(Yet Another Kuake)是一个运行于KDE的终端模拟器,Tilda是一个用GTK+写成的终端模拟器.它们的

C#实现日历样式的下拉式计算器

本文介绍了如何在Visual Studio中创建用户控件来显示下拉式计算器,弹出效果类似于日历控件. 介绍 如果我们正在做一个类似于库存控制和计费系统的项目,有些部分可能必须手动计算数值.因此,用户就不得不使用计算器得到结果,再填入到输入字段中,或者在工作窗口上单独打开一个计算器窗口.总之,各种不便和麻烦. 这篇文章主要描述的是如何添加下拉式计算器到DataGridView单元格中,如下图: 使用代码 第一步,我们必须先创建一个函数计算器,并且能够使用控件.因此,不妨先创建一个Visual St

纳德拉式移花接木赌Windows Phone未来

在Android统治智能手机的大背景下,除了iOS的苹果能够不受到干扰影响之下,其他的移动操作系统早已经成为了残羹废渣,这里面不仅包括黑莓系统,也包括同为科技巨头微软的Windows Phone,三星近些年想要摆脱Android的心愈演愈烈,自家的Tizen系统简直是一个山寨版的Android,但可惜这些都无法逃脱Android的魔掌控制之下. Android全球市场份额超过80%,这样可怕的市场占有率,说是其垄断都不过分,Android就犹如微软在PC时代的Windows,谷歌与微软各自统治一

asp.net C#自定义控件一下拉颜色框方法

asp教程.net C#自定义控件一下拉颜色框方法 通过继承ComboBox可以设计出类似C#控件属性栏中的颜色下拉选择框. 添加组件命名为myColorComboBox.cs   第一步:继承ComboBox,public partial class myColorComboBox : ComboBox   第二步:构造下拉颜色选择框 private void InitItems()         {             this.DrawMode = DrawMode.OwnerDra

Android自定义控件下拉刷新实例代码_Android

实现效果: 图片素材: --> 首先, 写先下拉刷新时的刷新布局 pull_to_refresh.xml: <resources> <string name="app_name">PullToRefreshTest</string> <string name="pull_to_refresh">下拉可以刷新</string> <string name="release_to_refre

只用CSS做的下拉式菜单--A Drop-Down Menu With Only CSS

最近在网上发现了一个只用CSS实现的下拉式菜单(Drop-Down Menu),感觉很新鲜也很酷.于是仔细看了作者的介绍以及源代码,发现核心就是一个":hover"伪类的使用.在CSS1中此伪类仅可用于a对象.且 对于无href属性(特性)的a对象,此伪类不发生作用.在CSS2中此伪类可以应用于任何对象.但IE6及其以下版本都不能很好的支持CSS2,因此 IE6及其以下版本就不能很好的运行这个程序了.所幸Firefox,Netscape,Opera,Safari等浏览器的最新版本均能很