VB.NET控件的一些事件的触发顺序是什么
比如CheckBox,MouseDown和CheckedChange哪个先发生,如果MouseDown先发生,那么中间这个时间间隔足够为一个全局布尔型变量赋值吗?(在Ch...
比如CheckBox,MouseDown和CheckedChange哪个先发生,如果MouseDown先发生,那么中间这个时间间隔足够为一个全局布尔型变量赋值吗?(在CheckedChange触发前)。还有TrackBar的MouseDown和ValueChange谁先发生。ValueChange和Scroll有差吗?如果鼠标从控件内移出过快的话,MouseLeave不一定触发吧?还有就是ClientSizeChange和Resize除了顺序不一样外还有什么不同吗,这样有意义吗?最后再问一句,假设没有添加任何代码,一个窗体从启动到在屏幕上完全显示出来后,按顺序触发了哪些事件?
展开
展开全部
一个一个回答吧。
1、CheckBox 的 MouseDown 事件发生在 CheckedChange 事件之前,但这是指在单步调试的状态下,事实上在编译好的程序中,这两个事件是分别处在两个不同的线程中,单纯的考虑时间上的前后没有意义。
2、MouseDown 在先。Scroll 事件发生在滚动条移动的过程中,而 ValueChange 事件发生在滚动条的 Value 属性发生改变的时候,两者没有必然联系。举例,当你用鼠标拖动滚动条移动的时候,这时发生的是 Scroll 事件;松开鼠标键后,Value 属性值改变,这时候触发 ValueChange 事件。另外,如果滚动条的 Value 是通过代码改变的而非鼠标拖动的,是不触发 Scroll 事件只触发 ValueChange 事件。
3、ClientSize 是指控件的工作区的高度和宽度。比如说 form,它的 Size 值是包括标题栏、边框等,而 ClientSize 是工作区,不包括标题栏、边框等。
4、一般是 Load→Paint→Shown。
1、CheckBox 的 MouseDown 事件发生在 CheckedChange 事件之前,但这是指在单步调试的状态下,事实上在编译好的程序中,这两个事件是分别处在两个不同的线程中,单纯的考虑时间上的前后没有意义。
2、MouseDown 在先。Scroll 事件发生在滚动条移动的过程中,而 ValueChange 事件发生在滚动条的 Value 属性发生改变的时候,两者没有必然联系。举例,当你用鼠标拖动滚动条移动的时候,这时发生的是 Scroll 事件;松开鼠标键后,Value 属性值改变,这时候触发 ValueChange 事件。另外,如果滚动条的 Value 是通过代码改变的而非鼠标拖动的,是不触发 Scroll 事件只触发 ValueChange 事件。
3、ClientSize 是指控件的工作区的高度和宽度。比如说 form,它的 Size 值是包括标题栏、边框等,而 ClientSize 是工作区,不包括标题栏、边框等。
4、一般是 Load→Paint→Shown。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询