我在屏蔽密码列时遇到问题。下面的代码有效,但它没有按我想要的方式工作。在编辑它时会掩盖密码,但是当我完成并继续下一个 datagridviewcell 密码时,密码变得可见。
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if ( dataGridView1.CurrentCell.ColumnIndex == 5 || dataGridView1.CurrentCell.ColumnIndex == 10)//select target column
{
TextBox textBox = e.Control as TextBox;
if (textBox != null)
{
textBox.UseSystemPasswordChar = true;
}
}
var txtBox = e.Control as TextBox;
txtBox.KeyDown -= new KeyEventHandler(underlyingTextBox_KeyDown);
txtBox.KeyDown += new KeyEventHandler(underlyingTextBox_KeyDown);
}
同样在编辑模式下,它应该只屏蔽索引为 5 && 10 的列,但它屏蔽了所有列。我无法解决这些问题,任何帮助都会很棒。