I have an application in which i have added a usercontrol on the form.
When i check this.parentForm
in the userControl constructor it gives a null reference
My userControl Code is like
public UserControl1()
{
InitializeComponent();
if (this.ParentForm != null)//ParentReference is null
{
MessageBox.Show("Hi");//Does Not get Called
}
}
When the control is being created, it won't have been added to a form yet - so of course the parent form will be null.
Even if you'd normally write it as:
// Where form might be "this"
form.Controls.Add(new UserControl1());
You should think of it as:
UserControl1 tmp = new UserControl1();
form.Controls.Add(tmp);
Now your constructor is being executed in the first line, but the first mention of form
is in the second line... so how could the control have any visibility of it?
You should probably be handling the ParentChanged
event instead, and taking appropriate action then. (Apologies if you're not using Windows Forms - I'm sure there's an equivalent for other UI frameworks; next time it would be useful if you could state what you're using in the question.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With