/// <summary> /// Will open a form that will ask for connection details (with option for default props) and attempt to ping target to see if it is possible to establish connection /// </summary> /// <param name="parent">Parent form that this form will be opened on</param> /// <param name="default_details">The default connection details to be inserted</param> /// <param name="forceTesting"></param> public static ConnectionDetails GetDetails(Form parent, ConnectionDetails default_details, bool forceTesting = true) { UserConnectionDetailsRequester getter = null; parent.Invoke(() => { getter = new UserConnectionDetailsRequester(forceTesting, default_details); getter.ShowDialog(parent); }); return getter.Results(); }
internal bool Cancelled { get; set; } //default: false internal UserConnectionDetailsRequester( bool forceTesting = true, ConnectionDetails default_details = null) { InitializeComponent(); this.FormClosing += (sender, args) => { if (PlannedClosing == false) Cancelled = true; }; ForceTesting = forceTesting; if (default_details == null) return; txtIP.Text = default_details.IP; txtPort.Text = default_details.Port.ToString(CultureInfo.InvariantCulture); if (default_details.DefaultPort) txtPort.Enabled = false; if (default_details.DefaultIP) txtIP.Enabled = false; }
} //default: false internal UserConnectionDetailsRequester(bool forceTesting = true, ConnectionDetails default_details = null) { InitializeComponent(); this.FormClosing += (sender, args) => { if (PlannedClosing == false) { Cancelled = true; } }; ForceTesting = forceTesting; if (default_details == null) { return; } txtIP.Text = default_details.IP; txtPort.Text = default_details.Port.ToString(CultureInfo.InvariantCulture); if (default_details.DefaultPort) { txtPort.Enabled = false; } if (default_details.DefaultIP) { txtIP.Enabled = false; } }