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 インポート ソリューションを試しました。ただし、フォームが作成されたときに呼び出されます。例えば:

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

Create 関数は、frmadd フォームを閉じた後に必ず呼び出す必要があります。

したがって、匿名デリゲートを変更します。

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 に答える