如何将valuetype设置为正int?

时间:2012-01-08 15:19:50

标签: c# .net c#-4.0 value-type typeof

问题应该是自我解释的。我有一个datagridview,它有一个列,其单元格在用户输入时只能接受正整数。

那我怎么设置这样的东西:

            dgv.Columns[i].ValueType = typeof(int > 0);

...

当然,我可以在cellValueChanged事件处理单独的验证。但由于我自动在DataError事件中处理了所有验证(因为我为每列设置了valueType),我希望我的上述验证能够在这里处理

    private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e)
    {
        // not fair..
        e.Cancel = true;
    }

如何?

更新:由于我听到很多关于uint的否定(正如其中一个答案所提出的),因为uints不符合CLS,并非所有语言都支持它等,是否可以仅用于验证目的像上面一样?

2 个答案:

答案 0 :(得分:3)

问题的上半部分应该很容易解决:

dgv.Columns[i].ValueType = typeof(uint);

下部我根本不明白。

答案 1 :(得分:3)

声明uint类型变量

uint的最小值为0

最大值是4294967295