如何设置粘贴时数据网格视图的最大字节长度

本文关键字:视图 网格 字节 数据网 数据 何设置 设置 | 更新日期: 2023-09-27 17:59:31

我有一个数据网格视图,其中DataNames可以在文本框列中输入。我使用DataGridViewTextBoxColumnMaxInputLength属性将此列的输入长度限制为6个字符

在这里,我想一步一步地解释我的问题
1。我写了双字节字符(例如。1234567890)然后我转到这个DataGridViewTextBox,右键单击,然后选择PasteDataGridViewTextBox显示123456.
2。我写了双字节字符(例如。123456)然后我转到这个DataGridViewTextBox,右键单击,然后选择PasteDataGridViewTextBox显示123456.
因此,MaxInputLength属性仅限于输入字符长度(不关心单字节或双字节(

我只想表演123(6字节(
是否有限制字节字符长度的属性或方法,特别是在粘贴操作中

提前谢谢。

如何设置粘贴时数据网格视图的最大字节长度

我想你可以在TextChangedEvent 中处理它

类似于:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    var textBytes = Encoding.UTF8.GetBytes(textBox1.Text);
    var textByteCount = Encoding.UTF8.GetByteCount(textBox1.Text);
    var textCharCount = Encoding.UTF8.GetCharCount(textBytes);
    if (textCharCount != textByteCount && textByteCount >= 12)
    {
        textBox1.Text = Encoding.UTF32.GetString(Encoding.UTF32.GetBytes(textBox1.Text), 0, 12);
    }
    else if (textBox1.Text.Length >= 6)
    {
        textBox1.Text = textBox1.Text.Substring(0, 6);
    }
}