Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 23.10.2014
Сообщений: 9

Перемещение окна по экрану кликом мышки

19.11.2014, 20:10. Показов 2536. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите написать программу, в которой при клике на окно оно перемещается из левого верхнего угла в правый верхний, после следующего клика - в правый нижний, после следующего - в левый нижний.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2014, 20:10
Ответы с готовыми решениями:

Управление текстовыми окнами: перемещение окна по экрану
Нужно изменить текст программы WinDemo (служебная информация должна вводится в служебном окне, после ввода информации оно убирается)....

Установка точки кликом мышки
Изначально есть 3 точки private void Form1_Load(object sender, EventArgs e) { pt = new Point; pt...

Навигация в krusader одним кликом мышки
Под kubuntu установил крусадер. Всем устраивает, но... Навигация по папкам происходит в 2 клика мышки, что лично меня раздражает. В тотал...

1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
20.11.2014, 04:49
Лучший ответ Сообщение было отмечено Ibragim как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
namespace WindowsFormsApplication1 {
    /// <summary>
    /// Перечисление возможных положений окна
    /// </summary>
    enum WindowPosition {
        TopLeft, TopRight, BottomLeft, BottomRight, SomeWhere
    }
 
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
            this.Click += Form1_Click;
        }
 
        void Form1_Click(object sender, EventArgs e) {
            WindowPosition wp = GetWindowPos();
            switch (wp) {
                case WindowPosition.TopLeft:
                    SetWindowPos(WindowPosition.TopRight);
                    break;
                case WindowPosition.TopRight:
                    SetWindowPos(WindowPosition.BottomRight);
                    break;
                case WindowPosition.BottomLeft:
                    SetWindowPos(WindowPosition.TopLeft);
                    break;
                case WindowPosition.BottomRight:
                    SetWindowPos(WindowPosition.BottomLeft);
                    break;
                case WindowPosition.SomeWhere:
                    SetWindowPos(WindowPosition.TopLeft);
                    break;
            }
 
        }
        /// <summary>
        /// Задание положения окна
        /// </summary>
        /// <param name="newPosition">Новое положение окна</param>
        void SetWindowPos(WindowPosition newPosition) {
            Rectangle wa = Screen.PrimaryScreen.WorkingArea;
            switch (newPosition) {
                case WindowPosition.TopLeft:
                    this.Location = wa.Location;
                    break;
                case WindowPosition.TopRight:
                    this.Location = new Point(wa.Right - this.Width, 0);
                    break;
                case WindowPosition.BottomLeft:
                    this.Location = new Point(0, wa.Bottom - this.Height);
                    break;
                case WindowPosition.BottomRight:
                    this.Location = new Point(wa.Right - this.Width, wa.Bottom - this.Height);
                    break;
                case WindowPosition.SomeWhere:
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// Получение положения окна
        /// </summary>
        WindowPosition GetWindowPos() {
            Rectangle wa = Screen.PrimaryScreen.WorkingArea;
            if (this.Location == wa.Location)
                return WindowPosition.TopLeft;
            else if (this.Location == new Point(wa.Right - this.Width, 0))
                return WindowPosition.TopRight;
            else if (this.Location == new Point(0, wa.Bottom - this.Height))
                return WindowPosition.BottomLeft;
            else if (this.Location == new Point(wa.Right - this.Width, wa.Bottom - this.Height))
                return WindowPosition.BottomRight;
            return WindowPosition.SomeWhere;
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2014, 04:49
Помогаю со студенческими работами здесь

Как скопировать текст ( кликом мышки ) ?
Всем привет, как можно скопировать текст ? (c# - используя мышку пкм : скопировать )? Я уже сразу понял что там нужно с мышкой работать,...

Как кликом мышки выделить букву в слове?
Воможно ли такое? В RichEdit есть некий текст. Необходимо обратиться к любой букве любого слова, предварительно выделив эту букву кликом...

Выделить строку в richTextBox кликом мышки по ней
Необходимо выделить строку в richTextBox кликом мышки по этой строке. Не знаю,как определить начало выделения и конец,чтобы выбрать...

В форме нарисовать фигуру по точкам, которые мы отметим кликом мышки
Необходимо например нарисовать 4 точки и что-бы программа соединила их все последовательно! Спасибо за помощь

Как при нажатии правым кликом мышки запустить новое приложение
Привет всем! Такая задачка появилась. У меня есть форма, на ней есть картинка image и всё. Надо сделать так, чтобы уже в готовом приложении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru