我正在學習C#與WinForms和控制檯應用程序。我在訪問另一個表單變量時遇到了問題。我沒有聲明新的表單對象,而是意識到要使用另一個表單中的變量,我需要使用包含該變量的同一個表單實例。更改我的表單後,我在Program.cs文件中遇到了一個錯誤,我無法修復它。如果這是一個noob錯誤,我很早就對Forms中的C#提前很抱歉。聲明的類的對象是新的我: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中得到了錯誤文件:
沒有給出說法,對應於所需正式 參數的「frmOptions1「frmHelp.frmHelp(frmOptions, frmLoginCreate)」
內'frmHelp'形式預計2個參數和你沒有提供的唯一'constructor',創建一個'constructor'超負荷其預期沒有參數那麼就不會有任何錯誤了。 –
你在其他形式需要什麼樣的變量?你能更新你的代碼嗎? –
字段和參數選擇相同的名稱,將成爲一個爛攤子。我更喜歡用'_'作爲前綴 –