为了账号安全,请及时绑定邮箱和手机立即绑定

保存数据时如何在屏蔽后从c#Winforms datagridview单元格中检索密码

保存数据时如何在屏蔽后从c#Winforms datagridview单元格中检索密码

C#
精慕HU 2021-06-18 09:14:36
我使用以下代码在 datagridview 中屏蔽了我的密码,并且我成功地做到了。private void gvInstanceDetails_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)    {      if (e.ColumnIndex == 4)      {        if (e.Value != null)        {          gvInstanceDetails.Rows[e.RowIndex].Tag = e.Value;          e.Value = new string('\u2022', e.Value.ToString().Length);        }      }    }    private void gvInstanceDetails_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)    {              TextBox t = e.Control as TextBox;        if (t != null)        {          t.UseSystemPasswordChar = true;        }          } 一旦我屏蔽了,如果用户没有删除整个文本并重新输入密码,我将无法检索用户在密码字段中输入的值。例如: - 如果密码类似于 ***** 并且用户替换最后两个字符并输入 34 然后在保存时我得到的字符串为 ***34。
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

不是我使用 winforms DataGrids。然而...

你正在杀死数据

e.Value = new string('\u2022', e.Value.ToString().Length);

但是你正在放入一个标签

 gvInstanceDetails.Rows[e.RowIndex].Tag = e.Value;

如果你知道你想要的行,你只需要打电话

var myAwesomePassword = (string) gvInstanceDetails.Rows[someArbitaryRow].Tag


查看完整回答
反对 回复 2021-06-26
  • 2 回答
  • 0 关注
  • 173 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号