О'кейо, поэтому я себя отвечали ему. Пример Кодего показывает тип с свойством имеет значения aaa, bbb, ccc имеющийся в падающем вниз в решетке свойства, только Кодий динамический, добавляют ddd & eee к списку и их можно также выбрать в решетке свойства.
Я вывешиваю разрешение в случае если любое всегда находит эту резьбу пока ищущ для такой же вещи.
Как раз создайте новый проект, добавьте решетку свойства к форме и наклеите Кодего внутри.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
|
using система;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Dummy_PropertyGrid
{
тип MyConverter: TypeConverter
{
общественное bool GetStandardValuesSupported преодоления автоматического действия (смысл ITypeDescriptorContext)
{
возвращенно true;
}
общественное преодоление автоматического действия StandardValuesCollection GetStandardValues (смысл ITypeDescriptorContext)
{
Список списка = (смысл. Пример как Form1.myProp) .MyList;
Cols StandardValuesCollection = ново
StandardValuesCollection (список);
возвращенные cols;
}
}
общественный частично тип Form1: Форма
{
общественное myProp типа
{
myStr шнура;
[TypeConverter (typeof (MyConverter))]
общественный шнур MyItem
{
получите {возвращенное myStr; }
установите {myStr = значение; }
}
Перечислите список;
[Browsable (ложно)]
общественный список MyList
{
получите
{
если (null == списка), то
{
список = новый список ();
список. Добавьте («aaa»);
список. Добавьте («bbb»);
список. Добавьте («ccc»);
}
возвратите список;
}
}
}
публика Form1 ()
{
InitializeComponent ();
obj myProp = новое myProp ();
obj.MyList.Add («ddd»);
obj.MyList.Add («eee»);
this.propertyGrid1.SelectedObject = obj;
}
}
}
|