winform窗口的控件有Validated事件我还能理解,为什么winform本身也有这个事件?

问题描述

一个winform窗口上我创建一个textBox和一个button,我能添加textBox的Validating/Validated事件响应来控制用户的输入,这个我能理解没有问题。但是,winform大窗口本身看起来也能添加Validating/Validated事件响应,这个我感觉不到有什么作用啊,winform上如果有多个控件的话,那到底Validate谁呢?换句话说,validate是一个动词,那么在winform上,这个动词的确切宾语到底是哪个?

解决方案

解决方案二:
肯定有参数sender,这就是触发事件的那个控件
解决方案三:
.netframework是开源的,同时也有那么多工具和资源可以看到源代码,你应该首先学习.net源代码。不要靠csdn来回答你这类问题。Control的Validate操作是遍历Control.Controls集合,来递归计算的。
解决方案四:
引用2楼sp1234的回复:

.netframework是开源的,同时也有那么多工具和资源可以看到源代码,你应该首先学习.net源代码。不要靠csdn来回答你这类问题。Control的Validate操作是遍历Control.Controls集合,来递归计算的。

我做了个简单的试验,如下图所示,一个winform上面有两个button,两个textBox我实现了Form1和textBox1的Validating事件响应,代码如下:privatevoidtextBox1_Validating(objectsender,CancelEventArgse){Debug.WriteLine(e.ToString());}privatevoidForm1_Validating(objectsender,CancelEventArgse){Debug.WriteLine(e.ToString());}

很奇怪的是,textBox1可以响应Validating事件,也就是当我在textBox1里面输入了一些字母,然后点击Form1上面其他任何一个控件,都会触发textBox1_Validating函数。但是,Form1_Validating()却无论我怎么操作,看起来都不会被调用。这到底是为什么呢?还请高人指点一下!
解决方案五:
自己顶一下!

时间: 2024-09-17 03:31:30

winform窗口的控件有Validated事件我还能理解,为什么winform本身也有这个事件?的相关文章

WINFORM窗口的控件

问题描述 像很多IDE里面都有这样的界面,我现在也想搞个,有没有方便的控件,自己写的话比较麻烦,这货是listview+panel+Button做的? 解决方案 解决方案二:这是要干什么?解决方案三:方便的控件是啥意思??我感觉这个界面复杂,应该没有其它方便的控件.解决方案四:引用1楼zhouqinghe24的回复: 这是要干什么? 引用2楼duanzi_peng的回复: 方便的控件是啥意思??我感觉这个界面复杂,应该没有其它方便的控件. 就是相当于一个树形结构,分下来,然后可以添加树杈的项,删

C# winform 图像处理 同一个控件多个事件的处理

问题描述 C# winform 图像处理 同一个控件多个事件的处理 大神们,我又来了,就是同一个picturebox上面需要写多个MouthUp事件的话该怎么弄啊,改怎么区分这几个up事件啊? 解决方案 是 Mouse Up 吧? 如果是 Mouse Up 是不可能同时产生的,否则就是多点触控了. 如果是多点触控,则需要专门的消息,而不是响应 Mouse Up 消息. 解决方案二: 你可以设置不同的标志位来判断,比如不同的bool变量来区分

c#-winform程序listview控件修改数据后动态刷新效果

问题描述 winform程序listview控件修改数据后动态刷新效果 在另一个窗口中修改好listview控件数据,并能在listview立刻显示出来. 怎么实现求大神指点!谢谢 解决方案 参考:http://bbs.csdn.net/topics/360140208 解决方案二: 你所谓的立刻是什么意思? 解决方案三: 在Form2窗体中声明 public Form1 f1; Form1按钮单击事件中: Form2 f2 = new Form2(); f2.f1 = this; f2.Sho

winform操作webbrowser控件,全自动延时执行过程的精准控制!

问题描述 winform操作webbrowser控件,全自动延时执行过程的精准控制! 如题,我有20个方法(都是操作webbrowser控件的)需要依次执行,执行第一个方法之后会返回一个结果,根据这个结果判断第一个方法是否执行成功,但第一个方法执行完毕的时间是未知的,我又必要等待这个返回结果判断是否成功,才能决定多久调用下一个方法执行! 核心问题就是:怎样去等待上一方法个执行完毕返回结果(每个方法都操作webbrowser控件的,都是未知的延迟等待时间),在这个等待的时间里我又不能中断线程,因为

WPF Frame做导航的时候 在子页面怎么获取父窗口的控件

问题描述 RTWPFFrame做导航的时候在子页面怎么获取父窗口的控件?比如<FrameDockPanel.Dock="Top"x:Name="MainFrame"NavigationUIVisibility="Hidden"Source="Welcome.xaml"/> 在Welcome.xaml页面里面怎么获取父窗口的控件并且定义事件? 解决方案 解决方案二:自己顶!!!!!解决方案三:没人来?自己顶!解决方案

.Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~

原文:.Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~   目前的企业级开发比较流行的是Web2.0技术,但是由于Web技术基于请求--响应的交互模式,使很多效果无法有效的呈现.  比如在Push技术上面,很多人感到头痛~ 如何让服务器主动请求Browser端~ 这个技术很多技术普通的开发人员都感到很难解决(包括我~呵呵)     其实要在企业级开发中实现Push技术,难度是有,但是我们要懂得变换方式. 如果技术上一直卡在Push技术的研究上

插件-无窗口ActiveX控件播放视频

问题描述 无窗口ActiveX控件播放视频 想问一下无窗口的ActiveX控件如何做到播放视频.我已经完成了一个有窗口的控件,然后可以播放视频了.但是项目上面,可能会吐槽做的界面不好看,需要做好看的界面.但是有窗口的ActiveX控件不能被其他网页元素覆盖,而且也不能在上面覆盖div层.我的问题是,播放视频需要一个窗口,一般都是传入窗口句柄,但是无窗口的控件是没有窗口句柄的,所以想知道无窗口的控件怎么来播放视频.像QuickTime和迅雷做的控件都是无窗口的,所以想问问,他们是如何实现的了?如何

MFC父窗口控制子窗口CListCtrl控件刷新的问题

问题描述 MFC父窗口控制子窗口CListCtrl控件刷新的问题 目标:父窗口单击按钮,向子窗口发送一个消息:子窗口的消息处理函数中,调用列表显示函数来刷新列表数据. 我的代码: // 父窗口void CDlg4::OnButtonClick(){ CDlg43 *dlg = new CDlg43(); dlg->Create(IDD_DIALOG_43this); if (NULL == dlg) { AfxMessageBox(""failed""); d

C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中

问题描述 C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中 C# Winform项目中,在form窗体中有一个ToolStrip控件(用于放所有的系统的功能项,目前大概有将近15个功能项,后续会陆续增加应用的功能项), 两个Panel控件(panel1和panel2控件是两个目标区,用于将ToolStrip控件中的子项拖放到的目标区域,在目标区域中打开或执行ToolStrip控件子项) 请问下,怎么样实现如下两个功能: 1.实现鼠标选中ToolStrip控件的子