新しいフォームにパラメーターを 1 つだけ提供したい場合は、johan が示すように、パラメーターを 1 つ持つコンストラクターを作成することが問題の適切な解決策であることに同意します。
フォームを表示する前にさらに変更を加えたい場合は、フォームのプロパティまたはメソッドを設定しながら、フォームにプロパティを作成できます。コード内の複数の場所で使用される 1 つのフォームの動作を変更する必要がある場合に適しています。
たとえば、デフォルトのコンストラクターを使用してプロパティによって変更されたフォーム:
public class MyForm : Form
{
public string HeaderText
{
get {return this.Text;}
set {this.Text = value;}
}
private MyLayoutEnum _LayoutStyle;
public MyLayoutEnum LayoutStyle
{
get
{
return this._LayoutStyle;
}
set
{
this._LayoutStyle = value;
switch (value)
{
case MyLayoutEnum.Basic:
{
//do work
break;
}
case MyLayoutEnum.Advanced:
{
//do work
break;
}
default:
{
//unsupported case - for example
break;
}
}
}
}
}
public enum MyLayoutEnum : int
{
None = 0,
Basic = 1,
Advanced = 2
}