ACAT.Lib.Core.Utility.Windows.SetWindowPosition C# (CSharp) Метод

SetWindowPosition() публичный статический Метод

Set the window position
public static SetWindowPosition ( Form form, IntPtr insertAfter, WindowPosition position ) : void
form System.Windows.Forms.Form form to reposition
insertAfter System.IntPtr insert after this window
position WindowPosition new position
Результат void
        public static void SetWindowPosition(Form form, IntPtr insertAfter, WindowPosition position)
        {
            form.StartPosition = FormStartPosition.Manual;
            var location = new Point(0, 0);

            switch (position)
            {
                case WindowPosition.TopRight:
                    location = new Point(Screen.PrimaryScreen.WorkingArea.Width - form.Width, 0);
                    break;

                case WindowPosition.TopLeft:
                    location = new Point(0, 0);
                    break;

                case WindowPosition.BottomRight:
                    location = new Point(Screen.PrimaryScreen.WorkingArea.Width - form.Width,
                                            Screen.PrimaryScreen.WorkingArea.Height - form.Height);
                    break;

                case WindowPosition.BottomLeft:
                    location = new Point(0, Screen.PrimaryScreen.WorkingArea.Height - form.Height);
                    break;

                case WindowPosition.CenterScreen:
                    location = new Point((Screen.PrimaryScreen.WorkingArea.Width - form.Width) / 2,
                                            (Screen.PrimaryScreen.WorkingArea.Height - form.Height) / 2);
                    break;
            }

            User32Interop.SetWindowPos(form.Handle.ToInt32(), insertAfter.ToInt32(), location.X, location.Y, 0, 0, 0x0040 | 0x0001);
        }

Same methods

Windows::SetWindowPosition ( Form form, WindowPosition position ) : void

Usage Example

Пример #1
0
        /// <summary>
        /// User selected a language from the list.  If reqd,
        /// ask the user to confirm the switch
        /// </summary>
        /// <param name="cultureInfo">Cultureinfo of the language selected</param>
        /// <returns>true on success</returns>
        private void onLanguageSelected(CultureInfo cultureInfo)
        {
            if (DialogUtils.ConfirmScanner(String.Format(R.GetString("ConfirmSwitchLanguage"), cultureInfo.DisplayName)))
            {
                Windows.SetVisible(this, false);

                var toastForm = new ToastForm(R.GetString("PleaseWait"), -1);
                Windows.SetWindowPosition(toastForm, Windows.WindowPosition.CenterScreen);
                toastForm.Show();

                Invoke(new MethodInvoker(delegate
                {
                    Context.ChangeCulture(cultureInfo);
                }));

                toastForm.Close();

                var prefs = ACATPreferences.Load();
                prefs.Language = cultureInfo.Name;
                prefs.Save();

                Windows.CloseAsync(this);
            }
        }