我一直试图链接构造函数,但我一直有问题,因为我有很多不同的类,彼此分享很多信息,因为它目前这就是我想做的事情
获得一个尊重form1的类,所以我可以运行某种方法
所以这就是我到目前为止所做的事情
gscadding.cs
public SoundAlis sounds;
public addingweapons dlc3gsc;
public Form1 elfgsc;
public gscadding elfy;
private gscadding elfy1;
public gscadding(addingweapons dlc3)
{
dlc3gsc = dlc3;
}
public gscadding(gscadding elfy1)
{
// TODO: Complete member initialization
this.elfy1 = elfy1;
}
这是我想要进入表单1的类,以使用我在表单1中创建的函数
这就是我在form1中所拥有的
elfenlied_program_settings elf;
addingweapons elf_weap;
Parser elfenliedl;
gscadding elfy;
//Parser parser = new Parser("model1887_sp");
public Form1()
{
InitializeComponent();
updater1.CheckForUpdates();
listBoxAdv1.Visible = false;
elf = new elfenlied_program_settings(listBoxAdv1,elfenliedl);
elf_weap = new addingweapons(richTextBoxEx1);
elfenliedl = new Parser("model1887_sp");
elfy = new gscadding(elfy);
timer1.Start();
elf.buttonX2 = buttonX2;
elf.elfenform = this;
// elfe.elfgsc = this;
buttonX2.Visible = false;
buttonX3.Enabled = true;
textBoxX6.Enabled = false;
elfenliedl.buttonX1 = buttonX1;
基本上我试图做的是用gscadding.cs来调用一个名为updatesettings()的函数;
当表单加载并且我选择一个路径时它会更新所有string = paths
但我一直得到
答案 0 :(得分:1)
elfgsc为null您必须设置它。
public gscadding(addingweapons dlc3, Form1 form)
{
dlc3gsc = dlc3;
elfgsc = form;
}
在表单构造函数
中elfy = new gscadding(elfy, this);
现在您可以从gscadding类中调用表单中的方法,如下所示:
elfgsc.updatesettings();
关于你的第二个错误,将elfy传递给自己是没用的。删除elfy并替换为elfy_weap