c# PropertyGrid -如何使数组元素只读
本文关键字:数组元素 只读 何使 PropertyGrid | 更新日期: 2023-09-27 18:09:44
我有一个PropertyGrid,我添加了一个数组的布尔值。数组本身被标记为ReadOnly,这是由属性网格正确识别的。
BUT:如果我在网格中展开数组,用户可以编辑所有项。这当然不是我想要的。如果数组本身被标记为只读,那么它的所有元素也将被标记为只读!
是否有任何方法在PropertyGrid中实现此行为?
您可以定义自己的TypeConverter。使用TypeConverter,您可以控制PropertyGrid显示的属性及其行为。
readonly关键字不像你想象的那样工作:
using System;
class Program {
static readonly bool[] arr = { false, true };
static void Main(string[] args) {
arr[0] = true;
}
}
是的,使用TypeConverter来改变PropertyGrid中类型的行为。或者给它一个[Browsable(false)]属性,因为反正没人想看一个布尔值数组。