C# 自定义控件的事件顺序

时间:2021-12-24 04:11:45

 最初以为的顺序:    |   UerControl.InitialComponent -->     |

                        |   UerControl.构造方法 -->             |

                        |   UerControl.Load -->                 |

                        |   引用窗体.InitialComponent -->       |

                        |   引用窗体.构造方法 -->               |

                        |   引用窗体.Load                       |

    实际正确的顺序:    |   UerControl.InitialComponent -->     |

                        |   UerControl.构造方法 -->             |

                        |   引用窗体.InitialComponent -->       |

                        |   引用窗体.构造方法 -->               |

                        |   UerControl.Load -->                 |

                        |   引用窗体.Load                       |

   

    我写的那些Resize和SizeChanged事件是放在UserControl.Load中的,在设计阶段对UserControl的Size所做的调整并没有被这些事件所捕获,因为窗体设计阶段的代码在引用窗体的InitialComponent方法中,而这个方法却在UserControl.Load之前被调用。