gpt4 book ai didi

c# - 将窗体实例作为参数传递

转载 作者:行者123 更新时间:2023-12-05 08:28:09 26 4
gpt4 key购买 nike

我有一个窗口窗体正在调用另一个类的方法,需要作为参数传递。

public partial class Form1 : Form
{
private myClass _myClass;

public Form1()
{
InitializeComponent();
_myClass = new myClass(//pass this instance - Form1 - as parameter)
}
}

但我不知道如何将 Form1 实例作为参数传递?我需要这样做,因为这个其他类正在创建系统托盘图标和菜单条,并且能够关闭父窗体。

最佳答案

你只需要做:

_myClass = new myClass(this);

然后更改myClass中的构造函数:

public class myClass
{
private Form1 theForm;

public myClass(Form1 theForm)
{
this.theForm = theForm;
}

...
}

现在您可以从类中访问表单。我想我会避免这样做。尝试让表单负责调用类并确定它何时应该自行关闭。

让类保留对实例化它的表单的引用,并从类中关闭它似乎可能会导致困惑和可维护性问题。

关于c# - 将窗体实例作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20876760/

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