繁体   English   中英

验证 function 的 UserControl 被调用,即使 AutoValidate 在 UC 的设计和 UC 的实例上都设置为禁用

UserControl Validating function is called even when AutoValidate is set to Disable on both the UC's design and the UC's instance

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

  1. 创建了一个带有许多数据绑定子控件的 UserControl,这些子控件都没有验证事件。
  2. 给 UC 的根节点一个 Validating 事件。
  3. 将 UC 的根设置为AutoValidate:Disabled
  4. 将 UC 放在主窗体上。
  5. 将主窗体上 UC 实例的属性设置为AutoValidate:Disabled
  6. 主窗体具有编辑、保存、取消按钮。 仅保存调用 uc.ValidateChildren()。

预期结果:验证 function 仅在我单击主窗体上的保存时调用。

实际结果:当我在主窗体上单击取消时,也会调用验证 function。 我非常希望不要调用它,因为这是取消按钮的全部意义所在。

2 个回复

主要问题是:你想要自动验证吗?

◾ 如果您不想在表单级别进行自动验证:

  • 将 Form 的AutoValidate属性设置为Disable ,当您在控件之间移动时不会引发Validating事件。
  • 当您想要触发验证事件时调用ValidateChildren

◾ 如果您想在表单级别进行自动验证,但您不想在单击 X 按钮或取消按钮时进行验证:

  • 将表单的AutoValidate属性设置为EnableAllowFocusChange

  • 对于您的 Cancel 按钮,请确保您已将CausesValidation属性设置为false

  • 为了防止在关闭表单时进行验证,请将以下代码添加到您的表单中:

     private const int WM_CLOSE = 0x0010; protected override void WndProc(ref Message m) { if (m.Msg == WM_CLOSE) { var autoValidate = this.AutoValidate; this.AutoValidate = AutoValidate.Disable; base.WndProc(ref m); this.AutoValidate = autoValidate; } else base.WndProc(ref m); }

    您可能想在这里查看我的帖子以了解更多详细信息:如何防止在我单击表单上的 X(关闭按钮)时触发验证

在我的情况下,修复是:

  1. 主窗体的根设置为AutoValidate:Disabled 仅仅在 UC 的实例上设置它是不够的。
2 perl rand lc / uc

我试图在我的42个字符密码中获得随机小写/大写字母。 不知怎的,我反而得到: ucclcjuczlclucmlc0lcdlc5lc0ucdlccucmucquc5ucslc4lckucxuctlcvlcquclucpuc0ucvlczucducauczlcauc7lciucmlcpl ...

3 linux API的set_memory_uc()函数

我从用户空间知道一些虚拟地址,我想对空间进行缓存。 我尝试在内核模块中使用API​​ set_memory_uc。 我查看了内核代码,发现此API接受虚拟地址作为第一个参数,但是在此API中,它使用__pa()将其转换为PA。 但是,__pa()仅对内核空间虚拟地址有效吗? 所以我想 ...

4 如果我从其他UC调用代码,WPF绑定问题

嗨我有一个问题,以了解WPF中的绑定。 我有一个用户控件并包含ListView,并从数据库中读取数据,但它至少需要60秒,然后用数据填充listview。 有一个状态栏显示加载过程。 如果数据已加载到内存中并且用户打开UC,则View模型会将数据加载到ListView。 一切正常 ...

7 OpenCV CV_8UC3到CV_8UC1

我的图像是CV_8UC3类型(它是灰度图像),我需要它作为CV_8UC1 。 我怎样才能进行转型? 我已经试过了 但它仍然给我一个3通道图像。 RectLeft是此图像的修正版本: 使用这部分代码完成整改: 应使用经过校正的图像(及其右侧相机的伙伴) 但 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM