关闭窗体然后刷新另一个窗体

时间:2015-05-31 10:50:44

标签: c# forms winforms

我正在尝试编写一个将库存添加到数据库的程序,

该计划鼓励添加股票和显示股票,我的问题是,当我抓住我的添加股票形式时,我想刷新主窗体以显示新的当前股票状态。

    this.FormClosing += new FormClosingEventHandler(AddStock_FormClosing);

    private void AddStock_FormClosing(object sender, FormClosingEventArgs e)
    {
        Program.FORM1.ShowStock();
        MessageBox.Show("Tries to close");
        this.Close();
    }  

当我关闭表单时,我收到消息框,所以我知道它到达那一点,我的问题是消息框保持重新打开,并没有实际关闭表单。

2 个答案:

答案 0 :(得分:1)

每次调用ul.header { color: #E6E6E6; text-transform: capitalize; font-size: 14px; font-family: Verdana, Geneva, sans-serif; list-style-type: none; padding: 0; margin: 0 auto; } /* ELEMENTI SINISTRA - GESTIONE BORDI */ li.left{ float: left; display: inline-block; border-right: 3px dotted; border-color: #585858; margin-left: 20px; padding-right: 10px; } li.left:first-child { border-right: none; padding-right: 0; line-height: 30px; padding-top: 3px; } li.left:nth-child(2){ /* CSS3 */ border-left: 3px dotted; border-color: #585858; padding-left: 10px; } img.logo { width: 23px; height: 22px; max-height: 70%; } /* ELEMENTI DESTRA - DROPDOWN ON USERNAME LOGGED */ li.right { float: right; display: block; margin: 0 auto; padding: 0 7px 0 0; } li.right:first-child { float: right; display: block; margin: 0 auto; padding: 0 0 0 7px; } li.right:last-child { margin: 0 30px 0 0; } #clicktoshow:hover { cursor: pointer; } #logout:hover { cursor: pointer; } li.right img { height: 27px; float: right; } /* LOGGED USER DROPDOWN */ li.right ul{ visibility: hidden; min-width: 188px; color: #E6E6E6; display: block; box-sizing: border-box; position: absolute; z-index: 75; margin: 0 auto; padding: 0; } li.right:hover > ul, li.right ul:hover { visibility: visible; margin: 0 auto; padding: 0; } li.right ul li { min-width: 100%; width: 100%; background-color: #484848; display: block; margin: 0 auto; padding: 0; } li.right ul li:hover{ background-color: #3b3b3b; } li.right ul li p { color: #E6E6E6; font-size: 15px; text-align: center; } 方法时都会触发FormClosing事件。 如果您没有取消结束事件,表格将被关闭,就是这样。您无需再次拨打Close

这就够了。

this.Close()

答案 1 :(得分:0)

您在错误的上下文中使用Messagebox.Show。在this.close()之后删除Messagebox,你会发现它应该是好的..

private void AddStock_FormClosing(object sender, FormClosingEventArgs e)
    {
        Program.FORM1.ShowStock();
        this.Close();
        MessageBox.Show("Tries to close");

    }  

我要做的是更改要求关闭的确认消息的消息框。然后Id使用IF语句来确定返回选择是否为真,然后关闭表单并执行垃圾收集(如果需要)如果确认返回false,则返回表单而不做任何事情。