c# - 有没有办法将PropertyGrid控件的字符串字段标记为 "No nulls or empty strings allowed"?

标签 c# propertygrid

当前属性网格允许我将字段的字符串值更改为空字符串,但我使用此字段作为 ID。它不应该为空。

此外,也许有某种方法可以禁止或取消字段值的更改? (如果输入的ID已经存在)

最佳答案

如果您使用属性,则可以向 setter 添加逻辑以不允许 null 或空字符串。您还可以添加逻辑来查看它是否存在:

        public string TestString
    {
        get { return TestString; }

        set 
        {
            if(!string.IsNullOrEmpty(value))
            {
                // TODO: Add your logic to check if exists somwhere
                TestString = value;
            }
            else
            {
                throw new ArgumentOutOfRangeException("value", " etc... ");
            }
        } 

    }

抛出异常可能会引起激烈的争论,但这是你的选择。

关于c# - 有没有办法将PropertyGrid控件的字符串字段标记为 "No nulls or empty strings allowed"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910327/

相关文章:

vb.net - Propertygrid 中的复选框列表

C#/winforms : how to best bind a propertygrid and a System. 数据.数据行

c# - ASP.net 用户控件和业务实体

c# - 如何创建将字符串限制为 n 个字符的 PropertyGrid 编辑器

c# - 是否可以从 PropertyGrid 中隐藏枚举值?

c# - 使用多个工作线程、多个源线程和接收器线程来执行线程 .net 应用程序的优雅方法?

c# - 如何从 PropertyGrid 中删除/隐藏 'Property Pages' 按钮?

c# - 有没有办法减少 Equals 和 GetHashCode 中的样板代码量?

c# - 数据网格取消编辑不起作用

c# - 将类型名称作为参数用于类型名称集合的方法