我需要在我的winform应用程序中实现输入验证。有许多不同的表单可以输入数据,我不想逐个控制地控制表单并为每个项目创建isValid等。其他人如何处理这个问题?我看到大多数相关帖子都涉及Web应用程序和/或提及EnterpriseLibraryValidationApplicationBlock.现在我承认我还没有彻底研究ELVAB,但它似乎对我需要的东西来说有点矫枉过正。我目前的想法是编写一个具有各种要求的类库,并将控件作为参数传递给它。我已经有一个RegEx函数库,用于诸如isValidZipCode之类的东西,所以这可能是我开始的地方。我想要的是一个验证按钮,onClick循环
我有一个非常慢的表单,因为表单上放置了很多控件。因此,表单需要很长时间才能加载。我如何先加载表单,然后显示它,并在加载延迟时显示另一个表单,其中包含“正在加载...请稍候。?”之类的消息 最佳答案 使用单独的线程来显示简单的请稍候消息是多余的,尤其是当您没有太多线程经验时。一个更简单的方法是创建一个“请稍候”表单,并将其显示为一个无模式窗口,就在缓慢加载的表单之前。主窗体完成加载后,隐藏请稍候窗体。通过这种方式,您仅使用一个主UI线程来首先显示请稍候表单,然后加载您的主表单。此方法的唯一限制是您的请稍候表单不能设置动画(例如动画GI
我有一个非常慢的表单,因为表单上放置了很多控件。因此,表单需要很长时间才能加载。我如何先加载表单,然后显示它,并在加载延迟时显示另一个表单,其中包含“正在加载...请稍候。?”之类的消息 最佳答案 使用单独的线程来显示简单的请稍候消息是多余的,尤其是当您没有太多线程经验时。一个更简单的方法是创建一个“请稍候”表单,并将其显示为一个无模式窗口,就在缓慢加载的表单之前。主窗体完成加载后,隐藏请稍候窗体。通过这种方式,您仅使用一个主UI线程来首先显示请稍候表单,然后加载您的主表单。此方法的唯一限制是您的请稍候表单不能设置动画(例如动画GI
如何在winforms中设置输入密码的文本框?如果大写锁定打开,我还想显示“CapslockisON”弹出窗口。我想要类似的东西在HTML中。 最佳答案 解决问题的最佳方法是将UseSystemPasswordChar属性设置为true。然后,当用户输入该字段并且Caps-Lock处于打开状态时(至少对于Vista和Windows7),会显示Caps-lock消息。另一种方法是将PasswordChar属性设置为字符值(例如*)。这也会触发自动Caps-Lock处理。 关于c#-如何在w
如何在winforms中设置输入密码的文本框?如果大写锁定打开,我还想显示“CapslockisON”弹出窗口。我想要类似的东西在HTML中。 最佳答案 解决问题的最佳方法是将UseSystemPasswordChar属性设置为true。然后,当用户输入该字段并且Caps-Lock处于打开状态时(至少对于Vista和Windows7),会显示Caps-lock消息。另一种方法是将PasswordChar属性设置为字符值(例如*)。这也会触发自动Caps-Lock处理。 关于c#-如何在w
我一直在关注WPF,但我从未真正在其中工作过(除了15分钟,这引发了这个问题)。我看了这个post但它实际上是关于WPF的“Flash”。那么Windows窗体应用程序和WPF应用程序之间有什么区别? 最佳答案 WPF是基于矢量图形的UI表示层,而WinForms则不是。为什么这很重要/有趣?通过基于矢量,它允许表示层平滑地将UI元素缩放到任何大小而不会失真。WPF也是一个可组合的表示系统,这意味着几乎任何UI元素都可以由任何其他UI元素组成。这使您可以轻松地从更简单的元素构建复杂的UI元素。WPF还完全支持数据绑定(bind),这
我一直在关注WPF,但我从未真正在其中工作过(除了15分钟,这引发了这个问题)。我看了这个post但它实际上是关于WPF的“Flash”。那么Windows窗体应用程序和WPF应用程序之间有什么区别? 最佳答案 WPF是基于矢量图形的UI表示层,而WinForms则不是。为什么这很重要/有趣?通过基于矢量,它允许表示层平滑地将UI元素缩放到任何大小而不会失真。WPF也是一个可组合的表示系统,这意味着几乎任何UI元素都可以由任何其他UI元素组成。这使您可以轻松地从更简单的元素构建复杂的UI元素。WPF还完全支持数据绑定(bind),这
假设你正在做类似下面的事情Listmyitems=newList{"Item1","Item2","Item3"};ComboBoxbox=newComboBox();box.DataSource=myitems;ComboBoxbox2=newComboBox();box2.DataSource=myitems现在我们有2个组合框绑定(bind)到该数组,一切正常。但是,当您更改一个组合框的值时,它会将两个组合框更改为您刚刚选择的那个。现在,我知道数组总是通过引用传递(在学习C:D时了解到这一点),但到底为什么组合框会一起改变?我不相信组合框控件正在修改集合。作为解决方法,这不会实现
假设你正在做类似下面的事情Listmyitems=newList{"Item1","Item2","Item3"};ComboBoxbox=newComboBox();box.DataSource=myitems;ComboBoxbox2=newComboBox();box2.DataSource=myitems现在我们有2个组合框绑定(bind)到该数组,一切正常。但是,当您更改一个组合框的值时,它会将两个组合框更改为您刚刚选择的那个。现在,我知道数组总是通过引用传递(在学习C:D时了解到这一点),但到底为什么组合框会一起改变?我不相信组合框控件正在修改集合。作为解决方法,这不会实现
当用户切换到我的NumericUpDown时,我希望所有文本都被选中。这可能吗? 最佳答案 privatevoidNumericUpDown1_Enter(objectsender,EventArgse){NumericUpDown1.Select(0,NumericUpDown1.Text.Length);}(请注意,Text属性在Intellisense中是隐藏的,但它确实存在) 关于c#-如何在选项卡中选择WinformsNumericUpDown中的所有文本?,我们在StackO