如何设置粘贴时数据网格视图的最大字节长度
本文关键字:视图 网格 字节 数据网 数据 何设置 设置 | 更新日期: 2023-09-27 17:59:31
我有一个数据网格视图,其中DataNames可以在文本框列中输入。我使用DataGridViewTextBoxColumn
的MaxInputLength
属性将此列的输入长度限制为6个字符
在这里,我想一步一步地解释我的问题
1。我写了双字节字符(例如。1234567890)然后我转到这个DataGridViewTextBox
,右键单击,然后选择Paste
。DataGridViewTextBox
显示123456.
2。我写了双字节字符(例如。123456)然后我转到这个DataGridViewTextBox
,右键单击,然后选择Paste
。DataGridViewTextBox
显示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);
}
}