gpt4 book ai didi

c# - 如何在 gridview 中创建密码类型的列?

转载 作者:行者123 更新时间:2023-11-30 12:53:09 25 4
gpt4 key购买 nike

我正在创建一个应用程序,用户可以在其中选择文件并提供打开该文件的凭据。为此,我在 GridView 中创建了三列。
用户在密码栏输入密码。
我想显示 * 代替字符,就像我们可以创建密码类型的文本框一样。
我在 GridView_CellClick 事件上试过这段代码:

if (GridView.Columns[e.ColumnIndex].HeaderText == "Password")
{
txtPassword[e.RowIndex] = new TextBox();
txtPassword[e.RowIndex].Name = "txtPassword"+e.RowIndex;
txtPassword[e.RowIndex].PasswordChar = '*';
txtPassword[e.RowIndex].Visible = true;
txtPassword[e.RowIndex].TextChanged += new

if (GridView.CurrentCell.Value == null)
txtPassword[e.RowIndex].Text = "";
else
txtPassword[e.RowIndex].Text = GridView.CurrentCell.Value.ToString();

txtPassword[e.RowIndex].Location = GridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex + 1, false).Location;

txtPassword[e.RowIndex].Size = GridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex + 1, false).Size;

txtPassword[e.RowIndex].Visible = true;
txtPassword[e.RowIndex].Focus();
}

但是在上面的解决方案中显示了字符。
我该如何解决这个问题?

最佳答案

我认为它应该可以处理 EditingControlShowing 事件并在处理程序中添加以下代码:

if(e.ColumnIndex == 2)
{
TextBox tb = e.Control as TextBox;
if (tb != null)
{
tb.PasswordChar = '*';
}
}

CellFormatting 事件处理程序代码:

if(e.ColumnIndex = 2)
{
if(e.Value != null)
{
e.Value = New string("*", e.Value.ToString().Length);
}
}

在这种情况下,e 应该有一个 ColumnIndex 属性 :)

关于c# - 如何在 gridview 中创建密码类型的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com