• <legend id='avWHS'><style id='avWHS'><dir id='avWHS'><q id='avWHS'></q></dir></style></legend>

      • <bdo id='avWHS'></bdo><ul id='avWHS'></ul>

      <small id='avWHS'></small><noframes id='avWHS'>

      <i id='avWHS'><tr id='avWHS'><dt id='avWHS'><q id='avWHS'><span id='avWHS'><b id='avWHS'><form id='avWHS'><ins id='avWHS'></ins><ul id='avWHS'></ul><sub id='avWHS'></sub></form><legend id='avWHS'></legend><bdo id='avWHS'><pre id='avWHS'><center id='avWHS'></center></pre></bdo></b><th id='avWHS'></th></span></q></dt></tr></i><div id='avWHS'><tfoot id='avWHS'></tfoot><dl id='avWHS'><fieldset id='avWHS'></fieldset></dl></div>
      <tfoot id='avWHS'></tfoot>

        使用 SendKeys 发送特殊字符

        Send special character with SendKeys(使用 SendKeys 发送特殊字符)
        <i id='eF4U6'><tr id='eF4U6'><dt id='eF4U6'><q id='eF4U6'><span id='eF4U6'><b id='eF4U6'><form id='eF4U6'><ins id='eF4U6'></ins><ul id='eF4U6'></ul><sub id='eF4U6'></sub></form><legend id='eF4U6'></legend><bdo id='eF4U6'><pre id='eF4U6'><center id='eF4U6'></center></pre></bdo></b><th id='eF4U6'></th></span></q></dt></tr></i><div id='eF4U6'><tfoot id='eF4U6'></tfoot><dl id='eF4U6'><fieldset id='eF4U6'></fieldset></dl></div>

              <tbody id='eF4U6'></tbody>

            <small id='eF4U6'></small><noframes id='eF4U6'>

                <legend id='eF4U6'><style id='eF4U6'><dir id='eF4U6'><q id='eF4U6'></q></dir></style></legend>
              • <tfoot id='eF4U6'></tfoot>

                  <bdo id='eF4U6'></bdo><ul id='eF4U6'></ul>
                • 本文介绍了使用 SendKeys 发送特殊字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在使用文本框通过 SendKeys 发送文本,但是当我在文本框中插入特殊字符时,我的应用程序崩溃了.例如,当我在文本框中输入+"时,我收到此错误:SendKeys 字符串+"无效.

                  I am using textboxes to send text via SendKeys, but when I insert special characters in the textbox, my application crashes. For example, when I put in a '+' in the textbox, I get this error: SendKeys string '+' is not valid.

                  我需要一个使用 SendKeys 发送特殊字符的解决方案,这是我的代码的一部分:

                  I need a solution to send special characters with SendKeys, this is a part of my code:

                  SendKeys.Send(dropDownEffectsLeft1.SelectedItem.ToString() + dropDownEffectsRight1.SelectedItem.ToString() + txt1.Text);
                  

                  这都是关于名为 txt1

                  我想我需要像 Regex 这样的东西来检查我的 txt 是否包含任何特殊字符,我会这样做:

                  I think I need something like a Regex to check if my txt contains any special characters, and that I will do with:

                  Regex specialChar = new Regex(@"^[a-zA-Z0-9_@.-]*$");
                  

                  非常感谢您的帮助.

                  推荐答案

                  来自 MSDN 发送密钥:

                  加号 (+)、插入符号 (^)、百分号 (%)、波浪号 (~) 和括号 () 对 SendKeys 有特殊含义.指定其中之一将这些字符括在大括号 ({}) 中.例如,要指定加号,使用{+}".要指定大括号字符,请使用{{}"和{}}".方括号 ([ ]) 对 SendKeys 没有特殊意义,但是您必须将它们括在大括号中.在其他应用中,括号确实具有特殊含义,当动态数据时可能很重要发生交换 (DDE).

                  The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses () have special meanings to SendKeys. To specify one of these characters, enclose it within braces ({}). For example, to specify the plus sign, use "{+}". To specify brace characters, use "{{}" and "{}}". Brackets ([ ]) have no special meaning to SendKeys, but you must enclose them in braces. In other applications, brackets do have a special meaning that might be significant when dynamic data exchange (DDE) occurs.

                  代码

                  所以你只需要一个正则表达式来替换这些字符:

                  Code

                  So you just need a regex to replace those characters:

                  string txt = Regex.Replace(txt1.Text, "[+^%~()]", "{$0}");
                  SendKeys.Send(txt);
                  

                  测试

                  我测试了代码,我有一个在线测试,你可以检查一下正则表达式 [+^%~()]

                  • 输入:Plus + Caret ^ Percent % Tilde ~ Parenthis ( )
                  • 输出 加号 {+} 插入符号 {^} 百分比 {%} 波浪号 {~} 括号 {(} {)}

                  这篇关于使用 SendKeys 发送特殊字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Performance overhead of using attributes in .NET(在 .NET 中使用属性的性能开销)
                  Accessing attribute info from DTE(从 DTE 访问属性信息)
                  c# Hide a property in datagridview with datasource(c#使用数据源隐藏datagridview中的属性)
                  Extract Display name and description Attribute from within a HTML helper(从 HTML 帮助器中提取显示名称和描述属性)
                  C# Attributes and their uses(C# 属性及其用途)
                  C# - Getting all enums value by attribute(C# - 按属性获取所有枚举值)
                    • <i id='V0noA'><tr id='V0noA'><dt id='V0noA'><q id='V0noA'><span id='V0noA'><b id='V0noA'><form id='V0noA'><ins id='V0noA'></ins><ul id='V0noA'></ul><sub id='V0noA'></sub></form><legend id='V0noA'></legend><bdo id='V0noA'><pre id='V0noA'><center id='V0noA'></center></pre></bdo></b><th id='V0noA'></th></span></q></dt></tr></i><div id='V0noA'><tfoot id='V0noA'></tfoot><dl id='V0noA'><fieldset id='V0noA'></fieldset></dl></div>
                        • <bdo id='V0noA'></bdo><ul id='V0noA'></ul>

                          <tfoot id='V0noA'></tfoot>

                        • <small id='V0noA'></small><noframes id='V0noA'>

                          <legend id='V0noA'><style id='V0noA'><dir id='V0noA'><q id='V0noA'></q></dir></style></legend>

                              <tbody id='V0noA'></tbody>