【问题标题】:C# - Event when closing WebBrowserC# - 关闭 WebBrowser 时的事件
【发布时间】:2016-10-24 12:13:55
【问题描述】:

我有一个带有 WebBrowser 的 .NET 控件。 此控件在我的应用程序中以表单形式使用。

因此,如果我关闭此表单或整个应用程序,或者如果我做了任何我的 WebBrowser 将要关闭的事情,我需要触发一个事件。

我试过这样,但是 if 函数不能按我想要的方式工作:

private void webBrowser1_VisibleChanged(object sender, EventArgs e)
    {
        if (!webBrowser1.Visible)
        {
            MessageBox.Show("Hi");
        }
    }

有什么想法吗? 谢谢

【问题讨论】:

    标签: c# .net webbrowser-control eventhandler


    【解决方案1】:

    关闭表单后的代码......

           private void webBrowser1_FormClosed(object sender, FormClosedEventArgs e)
        {
                MessageBox.Show("WebBrowser Closed");
        }
    

    此代码用于在关闭时请求执行某些操作的权限...

       private void frmReader_FormClosing(object sender, FormClosingEventArgs e)
        {
                MessageBox.Show("Are you sure want to close the WebBrowser?");
        }
    

    【讨论】:

    • 谢谢,但我需要使用 WebBrowser 在控件内处理此事件,而不是在包含此控件的表单中处理此事件...问题是,此控件已被 100 个表单使用。
    • 试试这个............private void webBrowser1_VisibleChanged(object sender, EventArgs e) { MessageBox.Show("Visible change event raise!!!"); }
    • private void webBrowser1_VisibleChanged(object sender, EventArgs e) { if (!WebBrowser1.Visible) { MessageBox.Show("true"); } else { MessageBox.Show("false"); }}
    【解决方案2】:

    只有表单知道何时关闭。实现此目的的一种方法是让您的控件使用Control.FindForm() 找到其包含的表单,为表单的关闭事件注册处理程序(例如在初始化期间),并从控件引发新事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多