需要一个通用的解决方案来删除所有UI输入控件中的任何特殊编码



我试图为几天前遇到的问题找到一个通用的解决方案。大体上除了在winforms用户界面中输入值外,用户还尝试粘贴一些报表中的数据(在html和excel中),并尝试搜索信息。

显然,这不起作用,因为我们的WCF服务不理解字符串的编码格式,也不返回任何记录。这对用户来说是令人惊讶的,因为当他们键入相同的字符串并搜索时,可能会得到结果。这里讨论的问题:字符串编码问题-需要转换';西欧到Ascii';

但是,我知道这可能发生在我们应用程序的任何UI屏幕中,因此需要知道什么是通用的,以及实现解决方案的唯一地方。是否可以使表单中的所有控件都删除任何编码?或者可以通过任何方式确保服务可以忽略字符串中的任何特殊编码?或者除了重新格式化UI中每个输入文本框中的文本之外,别无选择?

谢谢。

Forms是具有容器和子容器树的容器控件。您可以沿着控件树往下走,直到找到要在表单加载时更改编码的标签/文本框。

您也可以将其实现为WCF服务的行为(以便它自动处理编码)。

我认为您最好创建自定义的TextBoxes。从TextBox类继承并重写它的Text属性getter,然后在那里调用重新格式化方法。

搜索解决方案中的所有文本框并用新的自定义文本框替换它们并不困难。