我无法在CefShapr项目中关闭子窗体

时间:2019-05-26 17:10:38

标签: c# winforms cefsharp

我用JavaScript打开了子窗体,做了一些工作,现在我想关闭子窗体,但是我不能用“ X”关闭子窗体-它再次打开。

在Chromium中,我单击HTML中的一个按钮以使用javascript执行c#方法。这个方法打开了某种形式,我可以在其中进行任何工作。该表格在其他项目中。完成我的工作后,我想单击“ X”关闭此表单,但它会再次打开。现在我不明白什么是万能表:第二个表单已在主线程中打开,所有任务都已完成,但是表单...仍在继续打开。

一个HTML字符串:

<button class="btn btn-info" id="btn1" onclick="cefCustomObject.showForm2();">Show Form2</button>

js函数:

<script>
    $("#btn1").on('click',function () {
        cefCustomObject.showForm2();
    }); 
</script>

关闭表格的方法:

private void WorkingForm_FormClosing(object sender, FormClosingEventArgs e) {
    if (e.CloseReason == CloseReason.UserClosing) {
        e.Cancel = true;
        Dispose(true);
    }
}

C#-CefCustomObject类-以workingForm开始我的新应用

public class CefCustomObject {
    private static ChromiumWebBrowser _browser = null;
    private static Form1 _initializeMainForm = null;

    public CefCustomObject(ChromiumWebBrowser originalBrowser, Form1 mainForm) {
        _browser = originalBrowser;
        _initializeMainForm = mainForm;
    }
    //open Form2
    public void showForm2() {
        WorkingForm workingForm = new WorkingForm();
        WorkingData workingData = new WorkingData();
        WorkingPresenter workingPresenter = new WorkingPresenter(workingForm, workingData);
        workingForm.ShowDialog();
    }
}

我已完成所有工作,但无法关闭子表格。感谢您对此情况的帮助和解释

Тo编译错误。

0 个答案:

没有答案