パスワード列のマスキングに問題があります。以下のコードは機能しますが、私が望むようには機能しません。編集中にパスワードをマスクしますが、完了して次の 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 の列のみをマスクする必要がありますが、すべての列をマスクします。これらの問題を解決することはできません。