Как переместить форму в центр экрана?

208
14 марта 2018, 03:43

Добрый день.

Подскажите, пожалуйста, как переместить форму в центр экрана?

Установить StartPosition в значение CenterScreen не вариант, так как нужно переместить форму уже в процессе выполнения программы после определённых действий.

var dataBaseWindow = Application.OpenForms[0];
dataBaseWindow.Location = ???;

Не могу сообразить, что необходимо написать вместо вопросительных знаков.

Answer 1

Как то так

static void MoveWindowToCanterScreen(Form form)
{
    var screen = Screen.FromControl(form);  
    form.Top = screen.Bounds.Height / 2 - form.Height / 2;
    form.Left = screen.Bounds.Width / 2 - form.Width / 2;
}

Пример

class MyForm : Form
{
    public MyForm()
    {
        var bt = new Button() { Text = "Move To Center", Width = 200 };
        bt.Click += (sender, args) => {             
            MoveWindowToCanterScreen(this);         
        };
        this.Controls.Add(bt);
    }
}
READ ALSO
GetHashCode() и Equals() в Hashtable

GetHashCode() и Equals() в Hashtable

Имеется следующий код:

177
Написание текста в чат игры [требует правки]

Написание текста в чат игры [требует правки]

Тема такая: Нужно в игровой чат написать сообщение

208
Загружается перевернутое изображение C#

Загружается перевернутое изображение C#

Изображение было снято на камеру, далее было перевернутоПри загрузке в PictureBox изображение отображается не перевернутым (то есть точно так...

241
Can not resolve symbol Rider C#

Can not resolve symbol Rider C#

Проект webApiСоздал новый контроллер и хотел подключить пространство имен Web

206