2011-02-05 3 views
3

Фон: У меня есть окно, которое начинается с ширины 240 пикселей, некоторые визуальные элементы могут отображаться только определенным образом на этой ширине, однако изменение размера разрешено и должно допустимо.Сделать изменение размера привязки к определенным ширинам окна

Если кто-то решит изменить размер, тогда мне понадобится какая-то «привязка», чтобы вернуться к исходной ширине. Было бы больно/рядом с невозможным требовать от пользователей получения точных пикселей для восстановления полных визуальных эффектов.

Вопрос: Итак, как я могу сделать это так, если они попадают в определенное расстояние (позволяет сказать, в 4px) от 240 пикселей в любом направлении, он будет прилипать к этой ширины, и размер другого размера только тогда, когда изменение размера курсор отклонились над 4px от ширины ..

неудачных идеи: ив играли с несколькими вещами, которые задают ширину окна 240 на событии SizeChanged, если его в рамках 4px, но поскольку это событие размера, оно будет выполнять вычисления после того, как окно уже изменилось. это означает, что вы получаете действительно изменчивый эффект, когда он изменяется на/по ширине по умолчанию.

+0

Если у вас есть только поле 4px для изменения размера и увеличения, я бы пересмотрел, чтобы не изменять размер окна и не исправлять его. Пользователь не получит видимого пространства всего за 4 пикселя –

+0

... и любым способом, которым вы хотите, чтобы он привязался к вам 240px, то почему бы вам вообще не изменять размер окна. Используйте полосы прокрутки, у вас есть дополнительная информация, чтобы показать –

+0

вы не понял вопрос вообще, @Shekhar_Pro ... Я сказал, что в пределах 4px есть ширина, которую id хотел бы привязать к 240. Окно может быть любого размера, от ширины 10 до ширины 1000. – caesay

ответ

1

Вот сообщение, которое объясняет, как получить детализированный контроль над изменением размерами путем обработки сообщения WM_SIZING в собственной оконную процедуре:

модератор пример код в VB, но есть много примеров C#/WinForms, которые вы можете использовать для начала работы.

+0

Я просто использовал код VB для справки и написал свою собственную версию на C#. огромное спасибо! – caesay

 Смежные вопросы

  • Нет связанных вопросов^_^