0

わかりましたので、新しいフォームを開く次のボタンで何かをしています。厄介なことは、新しいフォームがデスクトップ上の望ましくない場所にポップアップすることです。

以下のコードを使用して、新しいフォームを古いフォームの場所に生成しようとしていますが、残念ながら、何らかの理由でまったく機能していません。以前と同じようにポップアップします。はい、イベントを登録しました。

フォーム1:

System.Drawing.Point LocationPoint = new System.Drawing.Point(200,200);
private void Installer_template_LocationChanged(object sender, EventArgs e)
{
    // Save the window location to the installer arts
    LocationPoint = this.Location;
}
private void NextButton_Click(object sender, EventArgs e)
{
    var NextForm = new Form2(LocationPoint);
    NextForm.Show();
    this.Hide();
}

フォーム2

  public Form2(System.Drawing.Point LocationPoint)
    {
        InitializeComponent();
        this.Location = LocationPoint;
    }

コードはそれらの線に沿ったものです

4

2 に答える 2

1

新しいフォームのStartPositionを設定してみましたか?

        this.StartPosition = FormStartPosition.Manual;

また

        this.StartPosition = FormStartPosition.CenterParent;
于 2012-08-01T00:28:53.583 に答える
0

さて、私はそれを修正しました、それはたくさんの問題でした。

  1. プロパティが間違っています。Locationプロパティの代わりにDesktopLocationを使用する必要があります

  2. 次に、変更できない静的メンバーに問題があったか、エラーが何であれ、代わりに設定ファイルを使用して場所を保存しました

  3. それを行っても、これを行うことはできないため、まだ機能しませんでした。DesktopLocation=何か、これを使用する必要があります。SetDesktopLocation(X、Y)

  4. フォームをロードするときに他のコードによって上書きされたため、まだ機能しませんでした。そのため、フォームのShownを使用して、そこで実行する必要がありました。

于 2012-08-01T00:47:52.663 に答える