【发布时间】:2018-02-08 19:42:10
【问题描述】:
我有一个 HEX 到 RGB 转换器程序,它接受来自两个字段的字符串输入:一个用于 RGB 的文本框和一个用于 HEX 的文本框。每个框都从特定值中搜索特定的字符串长度。
例如,如果用户输入一个由 7 个字符组成的字符串“#0000FF”,则只处理代表 RGB 的 6 个值。 IE。 '#' 被替换为 ""。
最近我发现只输入 4 个有效字符,例如“000F”会导致崩溃。我在与字符串的 .Length 相关的 if 语句处设置了一个断点,并且似乎在该值中添加了 2 个字符。
所以在输入“0”之后,长度现在是 3,输入相当于“0\r\n”。键入“00”后,长度为 4,输入等效值为“00\r\n” - 依此类推。
有没有一种简单的方法可以删除字符串的“\r”和“\n”值?为什么回车和换行完全出现在文本框输入中?
【问题讨论】:
-
AcceptsReturn = false?
-
@Ctznkane525 两个文本框都设置为 false。
-
用
String.replace删除它。 -
@zx485 这是一个有效的解决方案——我认为它会更困难。如果您知道概念性问题的答案,我会将您的回答标记为答案。
标签: c# string winforms textbox