when you are not creating any constructor, compiler defines default constructor itself.
but when you creating constructor your own, then compiler does not define default constructor.
here you are making constructor with parameters
like
form1(<parameters>)
{
}
then compiler doesn't make
default constructor like
form1()
{
}
so when you creating instance of form1, then you must have to pass parameter,
if you still want to create instance with no parameter, then you have to overload constructor one with parameter and other without parameter.
Hope you Understand clearly!