C# 使用屏蔽文本框复制到剪贴板

C# 使用屏蔽文本框复制到剪贴板,c#,winforms,C#,Winforms,C#新手,请原谅我遗漏了一些简单的东西 我正在尝试设置一个标签(点击时),以将maskedtextbox(电话号码)的文本复制到剪贴板中减去掩码。我已将maskedtextbox中的属性设置为仅包含文字。如果我选择文本并按ctrl+c组合键,效果会很好。虽然我尝试了Clipboard.SetText(custbtnext.Text),但我无法通过点击按钮来实现这一点它将运行,但它给我000-000-0000,我需要0000000000。如果您对此有任何建议,我们将不胜感激 谢谢我没有使用过该控件

C#新手,请原谅我遗漏了一些简单的东西

我正在尝试设置一个标签(点击时),以将maskedtextbox(电话号码)的文本复制到剪贴板中减去掩码。我已将maskedtextbox中的属性设置为仅包含文字。如果我选择文本并按ctrl+c组合键,效果会很好。虽然我尝试了
Clipboard.SetText(custbtnext.Text),但我无法通过点击按钮来实现这一点它将运行,但它给我000-000-0000,我需要0000000000。如果您对此有任何建议,我们将不胜感激


谢谢

我没有使用过该控件,但在这种情况下,您可以尝试以下方法:

Clipboard.SetText(custBtnText.Text.Replace("-", "");
但在处理用户输入时,我会更彻底一点。例如,如果我真的只想要数字,我可能会循环遍历每个字符,只保存那些数字。但这取决于你的要求

string GetDigits(string s)
{
    StringBuilder sb = new StringBuilder();
    foreach (var c in s)
    {
        if (Char.IsDigit(c))
            sb.Append(c);
    }
    return sb.ToString();
}

我没有使用该控件,但在这种情况下,您可以尝试以下操作:

Clipboard.SetText(custBtnText.Text.Replace("-", "");
但在处理用户输入时,我会更彻底一点。例如,如果我真的只想要数字,我可能会循环遍历每个字符,只保存那些数字。但这取决于你的要求

string GetDigits(string s)
{
    StringBuilder sb = new StringBuilder();
    foreach (var c in s)
    {
        if (Char.IsDigit(c))
            sb.Append(c);
    }
    return sb.ToString();
}

只需设置
masked.TextMaskFormat=MaskFormat.ExcludePromptAndLiterals
然后调用.Text

只需设置
masked.TextMaskFormat=MaskFormat.ExcludePromptAndLiterals
然后调用.Text

@Jonathan
剪贴板.SetText(custbntext.Text.Replace(“-”,”)工作得很好。我认为它也应该足够了,因为有了屏蔽框,他们无论如何只能以特定的方式输入文本,所以它总是有“-”。非常感谢,非常好!@Jonathan
Clipboard.SetText(custbntext.Text.Replace(“-”,”)工作得很好。我认为它也应该足够了,因为有了屏蔽框,他们无论如何只能以特定的方式输入文本,所以它总是有“-”。太感谢了,太棒了@没有必要。比那简单多了。检查我的答案。@hans没必要。比那简单多了。检查我的答案。