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

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

10.07.2009, 21:13. Показов 8607. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru