Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在用于office ribbon开发的编辑框中隐藏密码文本_C#_Excel_Ribbon_Editbox - Fatal编程技术网

C# 如何在用于office ribbon开发的编辑框中隐藏密码文本

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

我正在使用visual studio制作应用程序,并且正在制作Excel插件。
我想添加一个用户名和密码字段,所以我使用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);
}