2010-09-01 42 views
2

我有一个文本框是System::String^,我需要确认它只接受10位数字,没有字母,符号等。我如何在C++ visual studio中执行此操作?我需要先将内容转换为std::string吗?限制文本框只接受10位数字

+0

+1向我介绍'^'符号在C++中的使用方法 – 2010-09-01 20:20:39

+0

仅供参考,下次当您在类型附近发布带'^'的C++代码时,表明这是Microsoft的托管C++。在*标准* C++中,'^'不是类型指示符后的有效标记。 – 2010-09-01 20:49:57

+3

该语言的专有名称是C++/CLI,标签是“C++ -cli”。 “Managed C++”是由VC++ 2002和VC++ 2003实现的一组不同的C++扩展(带有诸如__gc和__interface的关键字)。它与C++/CLI不兼容,并且从VC++ 2005开始被后者所取代。另外,与MC++不同的是,C++/CLI有一个适当的公共规范文档(Ecma-372)。 – 2010-09-01 21:44:31

回答

2

假设这是一个.NET winforms文本框(因为您的片段是C++/CLI),您需要设置“MaxLength”属性。 (类似于TextBox^ tb = gcnew TextBox(); tb->MaxLength = 10。)

对于只包含数字的部分,您希望为KeyDown和KeyPress事件分配委托以确保输入的字符是数字。示例代码在这里:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress(v=VS.71).aspx

+0

在讨论C++/CLI时,链接到VS 7.1文档是没有意义的。 – 2010-09-02 22:03:15

+1

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress(VS.100).aspx 更好? – 2010-09-02 23:10:27

相关问题