gpt4 book ai didi

c# - 不同类之间调用函数

转载 作者:行者123 更新时间:2023-11-30 16:13:11 25 4
gpt4 key购买 nike

我习惯于写嵌入式c,对c#不太熟练。

我的问题是,我希望能够从 Welcome_Form 运行函数 openAnotherForm(),但现在代码不起作用。我耐心地尝试了不同的事情,但只成功地克服了我的挫败感。

我简化了我的相关代码来说明问题。

文件 1 - 这将运行并打开文件 2。

class UIcode
{
private Welcome_Form Welcome;
private AnotherForm_Form AnotherForm;

public UIcode()
{
Welcome = new Welcome_Form();
Application.Run(Welcome);
}

public void openAnotherForm()
{
Welcome.Hide();
AnotherForm = new AnotherForm_Form();
AnotherForm.ShowDialog();
}
}

文件 2 - 当我单击 TheButton 时,程序应运行文件 1 中的函数 openAnotherFrom

public partial class Welcome_Form : Form
{
public Welcome_Form()
{
InitializeComponent();
}

private void TheButton_Click(object sender, EventArgs e)
{
// Function from file 1
UIcode.openAnotherForm();
}
}

我知道这个问题可能很微不足道,但我仍然很感激能解释如何做到这一点。

优选:来自 UIcode 的函数只能被 UIcode 指定的类识别。

最佳答案

您可以更改构造函数以引用打开它的 UIcode 实例:

    private static UIcode myParent;

public Welcome_Form(UIcode parent)
{
myParent = parent;
InitializeComponent();
}

现在在 UIcode 中:

   public UIcode()
{
Welcome = new Welcome_Form(this);
Application.Run(Welcome);
}

最后,回到 Welcome_Form:

    private void TheButton_Click(object sender, EventArgs e)
{
// Function from file 1
myParent.openAnotherForm();
}

关于c# - 不同类之间调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22046166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com