C# 如何在用于office ribbon开发的编辑框中隐藏密码文本
我正在使用visual studio制作应用程序,并且正在制作Excel插件。C# 如何在用于office ribbon开发的编辑框中隐藏密码文本,c#,excel,ribbon,editbox,C#,Excel,Ribbon,Editbox,我正在使用visual studio制作应用程序,并且正在制作Excel插件。 我想添加一个用户名和密码字段,所以我使用Editbox来完成这项工作,但是似乎没有passwordChar字段 我可以用什么来代替,或者如何隐藏文本 我目前正在尝试将字符转换为*但速度非常慢。 我也在C工作# 这是我当前的解决方案: private void ebxPassword_KeyUp(object sender, RibbonControlEventArgs e) { char last = ebx
我想添加一个用户名和密码字段,所以我使用Editbox来完成这项工作,但是似乎没有passwordChar字段 我可以用什么来代替,或者如何隐藏文本 我目前正在尝试将字符转换为*但速度非常慢。
我也在C工作# 这是我当前的解决方案:
private void ebxPassword_KeyUp(object sender, RibbonControlEventArgs e)
{
char last = ebxPassword.Text[ebxPassword.Text.Length - 1];
passwordText += last;
ebxPassword.Text = ebxPassword.Text.Replace(last.ToString(), "*");
}
我的最终解决方案:
这是做不到的,没有简单的解决方法。因此,我没有将这些控件放在功能区中,而是添加了一个登录按钮,当单击时,会加载一个带有标准文本框的表单,效果非常好。很抱歉回答得太晚。.回答了谁的问题,希望将来能找到解决方案。 有了这个扩展方法,我可以在需要的时候在我的项目中使用。。不管它在哪里调用。。只要字符串就足够了;)以下是解决方案:
public static string Mask_IT(this string source, char MaskingChar, int AllowedCharCount)
{
var cArr = source.ToCharArray();
if(source.Length - AllowedCharCount >=0)
{
for (int i = 0; i < ( cArr.Length - AllowedCharCount; i++ )
{
if (cArr[i] != MaskingChar) cArr[i] = MaskingChar;
}
}
return cArr.ToString();
}
注意-1:始终使用TextChanged
Event,然后,您的向上键
或向下键
事件将无法工作,因为它们具有侦听特性。。但是文本_Changed
在文本更改时始终有效;)
注意-2:在方法中有一个名为“AllowedCharCount”的参数。这是用于“保留最后(n)个字符为未屏蔽”发布代码将使问题更加清楚。@Junaith添加了一些代码是Microsoft.Office.Interop.Excel.EditBox吗?是的,这就是我所使用的我认为是它的文本框。我必须仔细阅读这个问题。你试过酒店吗
private void yourTextBasedComponent_TextChanged (object sender, EventArgs e)
{
return YourTextBasedComponent.Text.Mask_IT('*', 2);
}