1

我一直在开发基于 c# 的 Windows 窗体应用程序,我需要一些帮助。

如示例代码所示:

frmPopUp frmAdd = new frmPopUp();

frmAdd.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
frmAdd.Location = new System.Drawing.Point(450, 200);
frmAdd.showdialog();
this.Create();

当我在代码中使用此功能并单击 frmAdd 边界外的任何位置时,它会闪烁或闪烁,这很烦人,我不希望这样。(但是在表单关闭后会调用“创建”函数)这是我的问题,我不想闪烁,同时在表单关闭后也应该调用函数。

经过一番搜索,我尝试了下面提到的链接中的 dll 导入解决方案——在这种情况下,我面临的问题是,在关闭 frmadd 表单后应该始终调用 Create 函数。但是它在创建表单时被调用。例如:

SetNativeEnabled(false);
frmPopUp frmAdd = new frmPopUp();

frmAdd.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
frmAdd.Location = new System.Drawing.Point(450, 200);
frmAdd.Closed += (s, a) =>
{
    SetNativeEnabled(true);
};
frmAdd.Show(this);

this.Create();

我对制作 Windows 窗体应用程序还很陌生,所以仍然有些东西我不明白,所以如果我一开始不明白,请耐心等待。

这些是我尝试过的链接:

4

1 回答 1

0

在关闭 frmadd 表单后,应始终调用 Create 函数。

所以改变你的匿名代表:

private void button1_Click(object sender, EventArgs e)
{
    frmPopUp frmAdd = new frmPopUp();

    frmAdd.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
    frmAdd.Location = new System.Drawing.Point(450, 200);
    frmAdd.Closed += (s, a) =>
    {
        this.Create();
    };
    frmAdd.Show(this);
}
于 2013-06-07T21:06:47.197 回答