gpt4 book ai didi

c# - Winform出现两次

转载 作者:太空宇宙 更新时间:2023-11-03 17:45:55 25 4
gpt4 key购买 nike

我正在用winforms进行个人项目,只是为了获得一些经验,因为我以前从未有过使用它的机会。因此,在Winforms方面,我是n00b。这是我遇到的错误:

在BudgetTracker表单中,我有一个名为“ AddCat”的按钮。下面是表单的构造函数和按钮的click eventHandler:

        public form_BudgetTracker()
{
InitializeComponent();
setEvents();
}

public void setEvents()
{
this.btn_AddCat.Click += new System.EventHandler(this.btn_AddCat_Click);
}

private void btn_AddCat_Click(object sender, EventArgs e)
{
form_NewCat NewCatForm = new form_NewCat();
var NewCatFormResult = NewCatForm.ShowDialog();
NewCatForm.Show();
}


在出现的NewCat表单中,我有一个“取消”按钮。码:

        public form_NewCat()
{
InitializeComponent();
SetEvents();
}

private void SetEvents()
{
this.btn_Add.Click += new System.EventHandler(this.btn_Add_Click);
this.btn_Cancel.Click += new System.EventHandler(this.btn_Cancel_Click);
}

private void btn_Cancel_Click(object sender, EventArgs e)
{
this.Close();
}


我面临的问题是,当我单击“添加”时,出现新表格。此时,如果单击“取消”,该表单将消失,但会立即显示该表单的新实例。然后,我再次单击“取消”,该表单消失。
我的代码的哪一部分使表单出现两次。我检查了构造器等,但无法弄清楚。任何帮助或指针,将不胜感激。

PS-如前所述,我是Winforms编程的新手,所以任何提示或指针也将不胜感激。

最佳答案

private void btn_AddCat_Click(object sender, EventArgs e)
{
form_NewCat NewCatForm = new form_NewCat();
var NewCatFormResult = NewCatForm.ShowDialog(); // <-- opens the first time
NewCatForm.Show(); // <-- opens the second time
}

关于c# - Winform出现两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371605/

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