public class MyListView : System.Windows.Forms.ListView { private Form _parentForm = null; public MyListView() { } protected override void OnParentChanged(EventArgs e) { base.OnParentChanged(e); if (this._parentForm != null) return; if (this.DesignMode == false) { if (this.TopLevelControl != null && this.TopLevelControl is Form) { this._parentForm = (Form)this.TopLevelControl; this._parentForm.Closing += new CancelEventHandler(MyListView_Closing); this._parentForm.Load += new EventHandler(MyListView_Load); } else { MessageBox.Show("Cannot hookup form events to a non-form type"); } } } private void MyListView_Closing(object sender, CancelEventArgs e) { MessageBox.Show("The parent form is closing!"); if (this._parentForm != null) { this._parentForm.Closing -= new CancelEventHandler(MyListView_Closing); this._parentForm.Load -= new EventHandler(MyListView_Load); } } private void MyListView_Load(object sender, EventArgs e) { MessageBox.Show("The parent form is loading!"); } }Regards