猿问

在Win Form DataGridView C#.NET中使字符串的第一个字符大写

因此,我在C#Win Form应用程序中有一个数据网格视图,默认情况下这些单元格是可编辑的,现在我希望每当在这些单元格中键入内容时,最终值都应被视为大写优先,因此这意味着如果有任何用户类型:


*string => String

example => Example

another => Another

chaRactEr => ChaRactEr*

我可以在“单元格值已更改”事件中的代码中执行此操作,但是当我在“单元格值已更改”事件中执行此操作并将该单元格的值设置为格式化字符串(最终用户需要此字符串)时,该事件将触发两次。我不能让这种情况发生,因为在此事件中触发了数据库功能。我已经尝试在其他事件(如“单元格离开”,“单元格输入”和其他事件)中捕获单元格值,但我永远无法捕获它。


因此,我需要知道,如果C#.NET中的“数据网格视图”具有任何属性或特性,则该值的第一个字符将变为大写?任何对此的替代建议也将非常有帮助。


繁星coding
浏览 167回答 3
3回答

慕沐林林

您可以使用以下代码:        bool bchange = false;        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)        {            if (bchange == false)            {                bchange = true;                String oritext = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();                String newtext= oritext.First().ToString().ToUpper() + oritext.Substring (1);                //Update Database                //Update cell                dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = newtext;            }            else             {                bchange = false;             }        }
随时随地看视频慕课网APP
我要回答