【问题标题】:Closed form still showing in taskbar关闭的表单仍显示在任务栏中
【发布时间】:2019-04-08 23:20:35
【问题描述】:

在 c# 中创建一个链接到具有登录功能的数据库的多表单程序。

尝试使用 show()、showdialog() 和 close()、dispose()、hide() 在表单之间移动。

一旦通过登录表单,程序将无法正确关闭表单。

它会关闭表单,因此用户无法再访问其控件,但是,“关闭”的表单在 Windows 任务栏和选项卡菜单中仍然完全可见。

用户甚至可以将鼠标悬停在“关闭”表单的任务栏图标上,并查看那里的所有信息!

因为该程序将处理敏感的个人信息。我需要帮助来阻止这个问题的发生。

辅助表单上的后退按钮的代码旨在完全关闭活动表单并打开主表单。

“Curform”是在方法之外定义的,因为它用于程序中的多个按钮。

Form CurForm = Form.ActiveForm;

public void Btn_Back_Click()
        {
            var MainForm = new MainForm();
            MainForm.Show();            
            CurForm.Close();        
        }

【问题讨论】:

    标签: c# forms winforms


    【解决方案1】:

    使用直接激活的表单而不是 curForm

    Form.ActiveForm.Close();
    

    如果您想在代码的其他部分使用 curForm,请在创建新表单时更新 curForm,如下所示:

    Form CurForm;
    
    public void Btn_Back_Click()
    {
        CurForm= new MainForm(); 
        CurForm.Show(); 
    
        // Do some things  
    
        CurForm.Close();   
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-11
      • 2016-03-09
      • 2012-02-03
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多