私はWinFormsとコンソールアプリケーションでC#を学んでいます。別のフォーム変数にアクセスする際に問題があります。新しいフォームオブジェクトを宣言するのではなく、別のフォームから変数を使用するために、変数を含む同じフォームインスタンスを使用する必要があることに気付きました。フォームを変更した後、私は修正できないProgram.csファイルにエラーが発生しました。 FormsでC#を使用するのは初めてです。これがnoobエラーの場合は、事前にお詫びください。ここでX他のフォーム変数へのアクセス
あなたがより良い理解を得ることができるようにフォームの背後にあるコードです:クラスのオブジェクトを宣言することは私には新しいです
frmOptions:
public partial class frmOptions : Form
{
frmHelp frmHelp1;
public frmOptions(frmHelp frmHelp1)
{
InitializeComponent();
}
private void tbnDisplayHelp_Click(object sender, EventArgs e)
{
//frmHelp frmHelp = new frmHelp(); //Declare a new object for the Help form so it can be accessed
frmHelp1.bAccessedFromForm = true;
this.Close();
frmHelp1.Show();
}
frmHelp:
public partial class frmHelp : Form
{
frmOptions frmOptions1;
frmLoginCreate frmLoginCreate1;
public bool bAccessedFromForm = false;
public frmHelp(frmOptions frmOptions1, frmLoginCreate frmLoginCreate)
{
InitializeComponent();
}
private void btnOK_Click(object sender, EventArgs e)
{
//frmLoginCreate frmLoginCreate1 = new frmLoginCreate();
this.Hide();
frmLoginCreate1.Show();
}
private void frmHelp_Load(object sender, EventArgs e)
{
if (bAccessedFromForm == true)
{
btnOK.Hide();
btnReturnToForm.Show();
}
}
private void btnReturnToForm_Click(object sender, EventArgs e)
{
this.Hide();
frmOptions1.Show();
btnOK.Show();
}
}
を
これは私のProgram.csファイルです:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmHelp());
}
}
これは私が私のProgram.csファイルで取得エラーです:必要な正式な パラメーター「frmHelp.frmHelp(frmOptions、 frmLoginCreate)」の「frmOptions1」に対応して与えられた引数はありません
2つのパラメータを必要とする 'frmHelp'フォーム内の唯一の' constructor'は、noneを提供していますが、パラメータを期待しないコンストラクタオーバーロードを作成し、エラーはもう発生しません。 –
他のフォームにはどのような変数が必要ですか?コードを更新できますか? –
フィールドとパラメータに同じ名前を使用すると、混乱することになります。フィールドの先頭に '_'を付けるのが好きです –