diff --git a/mRemoteV1/UI/FormExtensions.cs b/mRemoteV1/UI/FormExtensions.cs new file mode 100644 index 00000000..cf60601a --- /dev/null +++ b/mRemoteV1/UI/FormExtensions.cs @@ -0,0 +1,20 @@ +using System.Drawing; +using System.Windows.Forms; + + +namespace mRemoteNG.UI +{ + public static class FormExtensions + { + public static void CenterOnTarget(this Form formToMove, Form formToCenterOn) + { + var targetFormCenterX = formToCenterOn.Location.X + formToCenterOn.Width/2; + var targetFormCenterY = formToCenterOn.Location.Y + formToCenterOn.Height/2; + + var thisFormCenterX = formToMove.Location.X + formToMove.Width/2; + var thisFormCenterY = formToMove.Location.Y + formToMove.Height/2; + + formToMove.Location = new Point(targetFormCenterX - thisFormCenterX, targetFormCenterY - thisFormCenterY); + } + } +} \ No newline at end of file diff --git a/mRemoteV1/UI/Forms/CredentialEditorForm.Designer.cs b/mRemoteV1/UI/Forms/CredentialEditorForm.Designer.cs index 354218a0..f0bfcf9d 100644 --- a/mRemoteV1/UI/Forms/CredentialEditorForm.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialEditorForm.Designer.cs @@ -163,6 +163,7 @@ this.Controls.Add(this.textBoxTitle); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "CredentialEditorForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.Text = "Credential Editor"; this.ResumeLayout(false); this.PerformLayout(); diff --git a/mRemoteV1/UI/Forms/CredentialManagerForm.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerForm.Designer.cs index 2798e2f8..0814161b 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerForm.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerForm.Designer.cs @@ -112,6 +112,7 @@ this.Controls.Add(this.objectListView1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "CredentialManagerForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.Text = "Credential Manager"; ((System.ComponentModel.ISupportInitialize)(this.objectListView1)).EndInit(); this.ResumeLayout(false); diff --git a/mRemoteV1/UI/Forms/CredentialManagerForm.cs b/mRemoteV1/UI/Forms/CredentialManagerForm.cs index 95664b6f..e381254a 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerForm.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerForm.cs @@ -52,6 +52,7 @@ namespace mRemoteNG.UI.Forms if (clickedCredential == null) return; var credentialEditorForm = new CredentialEditorForm(clickedCredential); credentialEditorForm.ChangesAccepted += (o, args) => RaiseCredentialsChangedEvent(o); + credentialEditorForm.CenterOnTarget(this); credentialEditorForm.Show(this); } diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index 0448a74c..3b3c3142 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -1263,6 +1263,7 @@ namespace mRemoteNG.UI.Forms { var credentialManager = new CredentialManagerForm(_credentialRecords); credentialManager.CredentialsChanged += (o, args) => SaveCredentialList(); + credentialManager.CenterOnTarget(this); credentialManager.Show(); } diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index 793c8ba6..cdffaacc 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -274,6 +274,7 @@ Component + Form