自定义组件 Collection(集合类)

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Windows.Forms;
using System.Drawing;
using System.ComponentModel;
using System.ComponentModel.Design;
using Mylib;
namespace MyLib
{
  class 动态 : Label
  {
    private List<TypedFilter> _filters = new List<TypedFilter>();

    [Category("BusinessObjectControl")]
    [DesignerSerializationVisibility (DesignerSerializationVisibility.Content)]
    [Editor(typeof(FilterCollectionEditor), typeof (System.Drawing.Design.UITypeEditor))]
    public List<TypedFilter> Filters
    {
      get { return _filters; }
      set { _filters = value; }
    }
  }

  public class TypedFilter
  {
    private string _dataPropertyName = "Name";
    public string DataPropertyName
    {
      get { return _dataPropertyName; }
      set { _dataPropertyName = value; }
    }

    private int _value = 0;
    public int Value
    {
      get { return _value; }
      set { _value = value; }
    }

    public override string ToString()
    {
      return _dataPropertyName + " = " + _value.ToString();
    }
  }

  class FilterCollectionEditor : CollectionEditor
  {
    public FilterCollectionEditor(Type type)
      : base(type)
    {
    }
  }
}

其实能实现简单的集合类...还是很多地方不足,,,如果有幸遇到高手还希望帮忙解 答...

1.以上的例子只能产生局部变量.不会产生全局的..请问如何解决

我能不能生成,我想要的变量,比如局部,或者全局...

2.public class TypedFilter:Control 这样做结果是删除控件后,变量不会删除

以上代码希望对你有帮助,,尤其是做这方面的.

时间: 2024-11-15 00:27:31

自定义组件 Collection(集合类)的相关文章

自定义组件及其内组件大小的正确设置

http://blog.csdn.net/xiaodao1986/article/details/8481288 一.自定义组件大小的设置 不管你怎么设置,自定义组件似乎总是match_parent.我们需要覆盖onMeasure方法,并在其内正确设置组件大小. [java] view plaincopy @Override   protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {       //注意:为

自定义组件之属性(Property)的性质(Attribute)介绍(一)

自定义组件之 属性(Property)的性质(Attribute)介绍 属性(property)作为c#语言中一个重要的组成部分,尤其是在我们自己编写组件的时候显得更加重要.我相信大家一定对其有一定的了解.但是大家是否注意到了一个非常关键得细节问题呢?那就是在大家使用任何得组件的时候都需要通过属性浏览器给每一属性赋值,而且更加友好的是对于每种不同类型属性都会自己的形式.比如:数字类型.字符串类型是默认简单的输入的形式,而如Font.Color类型的属性则可以对话框或下拉列表框的形式.不知道大家是

动态改变自定义组件!

动态 1.在叶面上放上一个容器PlaceHolder 2.可以动态在容器中加载所需的自定义组件,或用户组件 示例: 现在容器中加载一个TextBox,之后回传再换为Button. 代码如下: protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1; protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, Sy

Flex自定义组件外观

Flex 是现今最受欢迎的 RIA 开发技术之一,它凭借其优秀的用户体验获得 许多用户的青睐,因此也吸引了众多的程序员投入 Flex 学习的洪流之中.Flex 之所以如此受欢迎,一大部分原因是因为 Flex 的界面效果非常出众.Flex 提 供了自定义组件外观的众多方法,使得 Flex 程序界面丰富多彩.本文通过简单 实用的程序例子(包括冒泡信息提示框.图像圆角.动态按钮.网格背景),使 用位图.矢量图.SWF 文件自定义皮肤,使用 Mask 制作遮掩效果,讲解了其中 几种自定义组件外观方法的优

PHP开发框架Yii Framework教程(10) UI组件 自定义组件

在介绍Yii内置UI组件之前,先介绍一下如何自定义组件,这样也有助于理解CWidget的用法,自定义组件就是重载 CWidget 的init() 和 run() 方法. class MyWidget extends CWidget { public function init() { // 此方法会被 CController::beginWidget() 调用 } public function run() { // 此方法会被 CController::endWidget() 调用 } } 本

NetBeans 6.0可视Mobile设计器自定义组件:PIM浏览器

可视 Mobile 设计器(VMD) 是 NetBeans Mobility 包中的图形界面,允许您使用拖放组件来设计移动应用程序.VMD 允许使用 Mobility 包提供的组件或您自己设计的组件来定义应用程序流程和设计 GUI.VMD 包含许多标准 User Interface (UI) 组件,可用于创建 Lists.Alerts.Forms 和 Images 等应用程序.它还包括一些自定义组件,可用于简化一些比较复杂的功能的创建,比如等待屏幕.启动屏幕.表格项目等. PIM 浏览器是自定义

自定义组件 UITypeEditor

using System; using System.ComponentModel; using System.Drawing; using System.Drawing.Design; using System.Windows.Forms; using System.Windows.Forms.Design; namespace MyLib { // This UITypeEditor can be associated with Int32, Double and Single // pro

Flex自定义组件开发之日周月日期选择日历控件

原文:Flex自定义组件开发之日周月日期选择日历控件           使用过DateField的我们都知道,DateField 控件是用于显示日期的文本字段,字段右侧带有日历图标.当用户在控件边框内的任一位置单击时,将弹出一个 DateChooser 控件,显示当月的所有日期.如果未选择日期,则该文本字段为空白,并且 DateChooser 控件中将显示当前日期的月份.当 DateChooser 控件处于打开状态时,用户可以在各个月份和年份之间滚动,并选择某个日期.选择日期后,DateCho

布局-android 将自定义组件添加到xml后,程序崩溃

问题描述 android 将自定义组件添加到xml后,程序崩溃 activity_main中的代码是这样的 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id