C# 在文本框中启用密码字符,但最后N个字符/限制掩码字符除外

C# 在文本框中启用密码字符,但最后N个字符/限制掩码字符除外,c#,textbox,C#,Textbox,如何在文本框中启用除最后N个字符以外的密码字符 我已经试过这个方法了 cardnumber.Select((c, i) => i < cardnumber.Length - 4 ? 'X' : c).ToArray() cardname.Select((c,i)=>i

如何在文本框中启用除最后N个字符以外的密码字符

我已经试过这个方法了

cardnumber.Select((c, i) => i < cardnumber.Length - 4 ? 'X' : c).ToArray()
cardname.Select((c,i)=>i
但这太难操作了,我会在每一个事件中传递原始卡值,比如
按键
TextChange


有没有更简单、更容易管理的方法?

这应该可以做到

string pw = "password1234";
char[] splitpw;
string cenpw;
int NtoShow;

splitpw = new char[pw.Length];
splitpw = pw.ToCharArray();
NtoShow = 4;
for (int i = 0; i < pw.Length; i++)
{
    if (i < pw.Length - NtoShow)
        cenpw += "*";
    else
        cenpw += splitpw[i];
}

//cenpw: "********1234"    
string pw=“password1234”;
char[]splitpw;
字符串cenpw;
国际展览;
splitpw=新字符[pw.Length];
splitpw=pw.ToCharArray();
NtoShow=4;
对于(int i=0;i
您的意思是,每次用户输入一个字符时,最后一个输入都会显示出来?至少在用户输入之后,比如最后4或5个字符会显示出来,其余的都不会显示出来?你有一个文本框,你想将所有字符显示为“*”,除了最后一个字符?@Yami是的,我需要至少最后4个字符