在DataGridView中将字符转换为大写

时间:2017-06-29 01:15:17

标签: winforms c++-cli casing

我的表单包含几个具有两列的DataGridView控件。我希望用户在第1列中键入的数据转换为大写。第0列中的数据是只读的,由我的程序填充。它是数字,不需要转换为大写。下面的代码有效,但我想知道是否有更好的方法。

private: System::Void dataGridView_patterns_EditingControlShowing(System::Object^  sender, System::Windows::Forms::DataGridViewEditingControlShowingEventArgs^  e)
    {
        // This event sets the character casing to upper for the patterns.  It is called once per pattern.

        TextBox^ myControl;

        myControl = (TextBox^)(e->Control);
        myControl->CharacterCasing = CharacterCasing::Upper;
    }

我对此代码唯一的问题是,对于DataGridView中的每一行,都会调用一次EditingControlShowing事件。有没有办法将CharacterCasing设置为Upper一次用于控件,还是必须设置为每一行都能正常工作?我没有注意到任何性能问题,但似乎没有必要为控件中的每一行设置外壳。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以创建此处显示的自定义DataGridTextBoxColumn

How to set DataGridView columns text format to uppercase by adding new property?

答案 1 :(得分:1)

为了关闭这个帖子,我在原始问题中使用了代码。我想这是在DataGridView控件中设置外壳的最简单方法。