如何为DataGridViewTextBoxColumn设置Password属性

jet*_*tty 2 c# datagridview

我曾经使用DataGridView用户名密码UI.密码显示在DataGridViewTextBoxColumn类型列中.如何使用现有代码DataGridViewTextBoxColumn并实现文本的密码属性?

Moe*_*bai 7

处理EditingControlShowing事件,然后将编辑控件转换为a TextBox并手动将其设置UseSystemPasswordChar为true:

TextBox passwordText = e.Control as TextBox;
if (passwordText != null)
{
    passwordText.UseSystemPasswordChar = true;
}
Run Code Online (Sandbox Code Playgroud)

编辑

你能试一试吗:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (dataGridView1.Columns[e.ColumnIndex].Name == “passwordDataGridViewTextBoxColumn” && e.Value != null)
    {
        dataGridView1.Rows[e.RowIndex].Tag = e.Value;
        e.Value = new String(‘*’, e.Value.ToString().Length);
    }
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    if (dataGridView1.CurrentRow.Tag != null)
        e.Control.Text = dataGridView1.CurrentRow.Tag.ToString();
}
Run Code Online (Sandbox Code Playgroud)