Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/43: Рейтинг темы: голосов - 43, средняя оценка - 4.91
2 / 2 / 0
Регистрация: 10.07.2009
Сообщений: 7

Перетаскивание форм в C#

10.07.2009, 21:13. Показов 8576. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, можно ли в С# создать форму, которуюб можно перетаскивать за любое место, не только за заголовок???
И кстати, можно ли в заголовок формы добавить свои кнопки? мне нужно сделать кнопочку "показывать поверх других окон"
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.07.2009, 21:13
Ответы с готовыми решениями:

Перетаскивание двух форм c#
Как сделать перетаскивание форм как в WinAmp'e? Добавлено через 24 минуты Описываю... В винампе есть функция, как перемещение...

Перетаскивание форм!
Здравствуйте! Прошу Вашей срочной помощи, код ниже! Почему-то вторая и третья форма не передвигаются. Что делать? procedure...

Перетаскивание нескольких форм
Здравствуйте, кто подскажет как сделать дабы при перетаскивании формы1 пропорционально перетаскивались еще 2 формы (слева и справа) ...

4
 Аватар для exe-dealer
308 / 161 / 11
Регистрация: 07.06.2009
Сообщений: 538
10.07.2009, 21:32
Лучший ответ Сообщение было отмечено как решение

Решение

можно все. Подскажу только насчет перетаскивания - нужно в момент когда требуется перетаскивание формы сделать следующее

C#
1
2
3
this.Capture = false;
var msg = Message.Create(this.Handle, 0xa1, new IntPtr(2), IntPtr.Zero);
this.WndProc(ref msg);
10
2 / 2 / 0
Регистрация: 10.07.2009
Сообщений: 7
10.07.2009, 22:11  [ТС]
Цитата Сообщение от exe-dealer Посмотреть сообщение
можно все. Подскажу только насчет перетаскивания - нужно в момент когда требуется перетаскивание формы сделать следующее

C#
1
2
3
this.Capture = false;
var msg = Message.Create(this.Handle, 0xa1, new IntPtr(2), IntPtr.Zero);
this.WndProc(ref msg);
спасибо попробую сейчас

Добавлено через 22 минуты 55 секунд
получилось!
1
3 / 3 / 1
Регистрация: 18.08.2010
Сообщений: 3
05.10.2011, 11:52
Лучший ответ Сообщение было отмечено как решение

Решение

У меня так получилось:
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
class MyForm : Form
{
   ...
 
   Point last;
   
   void Form_MouseDown (object sender, MouseEventArgs e)
   {
      if (e.Button == MouseButtons.Left) {
         last = MousePosition;
      }
   }
 
   void Form_MouseMove (object sender, MouseEventArgs e)
   {
      if (e.Button == MouseButtons.Left) {
         Point cur = MousePosition;
         int dx = cur.X - last.X;
         int dy = cur.Y - last.Y;
         Point loc = new Point(Location.X + dx, Location.Y + dy);
         Location = loc;
         last = cur;
      }
   }
}
3
-19 / 1 / 2
Регистрация: 05.11.2012
Сообщений: 48
04.01.2014, 20:32
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    public partial class frm_Menu : Form
    {
        const int WM_NCLBUTTONDOWN = 0xA1;
        const int HTCAPTION = 0x2;
        [DllImportAttribute("user32.dll")]
        static extern bool ReleaseCapture();
        [DllImportAttribute("user32.dll")]
        static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
 
        private void frm_Menu_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                ReleaseCapture();
                SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
            }
        }
    }
обработчик события нажатия нужно привинтить к форме, лабелам и всему за что должно двигаться.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2014, 20:32
Помогаю со студенческими работами здесь

Объявление форм для доступа к ним из других форм проекта
Поскажите, пожалуйста, как правильно объявить форму, что бы доступ к её элементам можно было получать из других форм?

Как по закрытию форм 2 сделать определенное действие в форм 1?
Здравствуйте! Помогите пожалуйста, я новичок в ) Столкнулся с проблемой и не смог найти ответа на форумах. В кратце- есть 2 формы....

Связывание двух форм по расположению на мониторе(Синхронизация форм)
Такая проблема, представим если 2 формы, на первой форме есть клавиша "На вторую форму", которая будет иметь код: ...

Открытие форм из под форм
три формы - основная первая вторая и третья. в первой #include "vtoraya.h" дальше: public: vtoraya ^ pimpis; и дальше действие...

Передать из форм 1, в форм 3.
я перелазил весь форум но так и непонял как передать инфу с textbox3 в textbox1. (из 3 формы в 1) розъясните,


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru