我試圖從類訪問對象TextBox
。我嘗試使用構造函數,但沒有發生。它一直在工作,直到我添加面板並添加更多表單。C#無法從類中訪問對象
我的主要加載我的表格形式:
public partial class MenuForm : Form
{
public MenuForm()
{
InitializeComponent();
}
ConfigForm Config = new ConfigForm();
GeneralForm General = new GeneralForm();
private void Menu_Load(object sender, EventArgs e)
{
//Load of Config Form
Config.MdiParent = this.MdiParent;
Config.Show();
//Load of General Form
General.Show();
General.TopLevel = false;
Config.Controls["panel1"].Controls.Add(General);
}
}
這裏是我的配置形式:
public partial class ConfigForm : Form
{
private ConfigFormHelper confighelper = null;
private GeneralFormHelper generalhelper = new GeneralFormHelper();
public ConfigForm()
{
InitializeComponent();
}
private void comboTemplate_SelectedIndexChanged(object sender, EventArgs e)
{
generalhelper.LoadTemplate();
}
}
這是我一般的輔助類:
class GeneralFormHelper
{
GeneralForm generalform2 = new GeneralForm();
public void LoadConfig()
{
this.generalform2.txtDSN1.Text = "test";
}
}
有沒有錯誤,但txtDSN1
沒有得到「測試」文本。
txtDSN1
是public
修飾符。
您正在設置另一個實例的文本框,與您當前所看到的實例不同。看看MainForm中的這一行:'GeneralForm General = new GeneralForm();'你顯示了'Config.Show();'另一個在GeneralFormHelper:'GeneralForm generalform2 = new GeneralForm();' –
這是正確的嗎? 'public GeneralForm myForm; public GeneralFormHelper(GeneralForm form) this.myForm = form; { this.myForm = form; } ' 這是正確的嗎? – FatalError
返修您的設計。正如@RezaAghaei提到的,你有'GeneralForm'多個實例,'GeneralFormHelper.LoadConfig()'似乎沒有用在你提供的代碼中。 –