6

datagridviewの列をパスワード文字を含む列として表示したいのですが、なぜこのイベントがdatagridviewによってトリガーされないのか理解できません。

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        if(e.ColumnIndex == 3)
        {
            if(e.Value != null)
            {
                e.Value = new string('*', e.Value.ToString().Length);
            }
        }
    }

助けてください。

4

1 に答える 1

7

イベントを処理してEditingControlShowingから、編集コントロールをTextBoxにキャストし、UseSystemPasswordCharを手動でtrueに設定できます。

private void dataGridView1_EditingControlShowing(object sender, 
    DataGridViewEditingControlShowingEventArgs e)
{
    if(e.ColumnIndex == 3)//select target column
    {
    TextBox textBox = e.Control as TextBox;
    if (textBox != null)
    {
        textBox.UseSystemPasswordChar = true;
    }
    }
}   
于 2012-09-25T19:08:56.057 に答える