已回答 文本框中只有一个字

狮子

知名会员
已加入
2018年11月29日
留言内容
52
编程经验
Beginner
你好
我试图防止用户在文本框中输入或粘贴多个单词。
这将是实现此目标的最佳方法。我当时想创建一个禁止空格的按键事件,但是不确定是否也可以粘贴文本。

我正在为名字,中间名和姓氏创建一个表单,并且我只希望在名字列中使用一个名字,这样用户就不会在名字文本框中输入名字和中间名

先感谢您

祝你有美好的一天
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,524
地点
悉尼,澳大利亚
编程经验
10+
如果您也想避免粘贴,则需要一个自定义控件并重写WndProc方法以过滤WM_PASTE(我认为)消息。可以这样做,但事后简单地进行验证会更容易。您甚至可以将第一个空格后的所有内容自动移动到第二个控件中。
 

狮子

知名会员
已加入
2018年11月29日
留言内容
52
编程经验
Beginner
谢谢你。当他们制表符或移至下一个控件而不是在表单末尾时,是否可以验证文本框
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,524
地点
悉尼,澳大利亚
编程经验
10+
谢谢你。当他们制表符或移至下一个控件而不是在表单末尾时,是否可以验证文本框
那就是应该怎么做。您可以处理Validating事件并将e.Cancel设置为True,以防止控件在包含无效数据时失去焦点。如果不想防止失去焦点,则可以处理Leave事件。
 

狮子

知名会员
已加入
2018年11月29日
留言内容
52
编程经验
Beginner
谢谢你。我将研究如何做到这一点。对于OOP,C#和WPF来说还是很新的。谢谢您的帮助
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,524
地点
悉尼,澳大利亚
编程经验
10+
对于OOP,C#和WPF来说还是很新的。谢谢您的帮助
啊,您没有提到这是针对WPF的。我假设使用WinForms,如果没有另外指定,您会发现大多数人都会这样做。有一个专门讨论WPF的论坛,尽管有一个WinForms论坛,您也没有张贴。您确实说过KeyPress事件,该事件存在于WinForms中,但不存在于WPF中。您可以确认您确实在使用WPF吗?
 

狮子

知名会员
已加入
2018年11月29日
留言内容
52
编程经验
Beginner
我正在使用wpf。抱歉,我过去经常忙着做Winforms,这是我在学习时第一次学习WPF应用程序。移动到另一个控件时,我将如何验证控件。只要指出正确的方向,我就可以进行研究。最好的学习方法
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,532
地点
弗吉尼亚州切萨皮克
编程经验
10+
啊!因此,您使用的是WPF,但使用它的方式就像是WinForms,后面有很多代码。
 

狮子

知名会员
已加入
2018年11月29日
留言内容
52
编程经验
Beginner
我前一段时间使用Winforms作为免费赠品作为我的培训练习来编写该应用程序。然后,我对OOP进行了一些研究,然后再次将其重命名为WPF,作为我要学习的项目。随着我的知识的增长,它将经常被修订。随着我变得更加熟练,它将被修订
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,532
地点
弗吉尼亚州切萨皮克
编程经验
10+
这是WPF MVVM,并尝试在XAML方法中进行尽可能多的验证:
 
最佳 底部