С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
-=G-L-A-V-A-K=-
18 / 18 / 3
Регистрация: 16.02.2010
Сообщений: 243
1

Таскание окна

16.09.2011, 15:47. Просмотров 631. Ответов 1
Метки нет (Все метки)

Как сделать, чтобы можно было перетаскивать окно за контрол, или за фон окна, когда border=none?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2011, 15:47
Ответы с готовыми решениями:

Изменение размера окна перетягиванием за края. Как сделать это возможным у нестандартного окна?
Есть окно: <Window x:Class="Program.PlayerWnd" ...

Позиционирование дочернего окна относительно элемента главного окна
Всем привет. Подскажите пожалуйста, как можно сделать. У меня есть главное...

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

Увеличение содержимого окна пропорционально увеличению самого окна
Добрый день, возник такой вопрос как можно увеличивать содержимое окна(например...

Как сделать анимацию прозрачности окна при наведении курсора мыши и его ухода с окна
Я сделал так (из класса убрал всё лишнее, только по теме оставил): using...

1
I2um1
Злой няш
1408 / 1106 / 374
Регистрация: 05.04.2010
Сообщений: 1,949
16.09.2011, 17:27 2
Лучший ответ Сообщение было отмечено -=G-L-A-V-A-K=- как решение

Решение

Чтобы перетаскивать за фон, допиши в класс формы этот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2;
protected override void WndProc(ref Message m)
{
    switch (m.Msg)
    {
        case WM_NCHITTEST:
            base.WndProc(ref m);
            if ((int)m.Result == HTCLIENT)
                m.Result = (IntPtr)HTCAPTION;
            return;
            break;
    }
    base.WndProc(ref m);
}
Взято с книги Климова А. "C#. Советы программистам" (2008 года издания). Там также есть еще два способа решения этой проблемы и много чего другого интересного, к примеру заставить форму отбрасывать тень.

А перемещение формы за контрол тоже обсуждается в той книге, да и обсуждалось подобное на форуме.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2011, 17:27

Вызов окна из другого окна. Паттерн MVVM
тут ламмерский вопрос) есть 2 окна со своими вьюмодельс. в первом окне есть...

Не получается убрать белую рамку и вид окна в дизайнере не соответсвует реальному виду окна после запуска программы
Делал свой простенький Splash Screen с прогресс баром. В 2012-ой студии под...

Перерисовка окна другого процесса через дескриптор этого окна
Приветствую всех. Может кто-то знает, как перерисовать окно другого процесса...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru