Изменение размера панели в C #, Windows Forms - PullRequest
2 голосов
/ 22 февраля 2009

Как я могу разрешить пользователям изменять размер панели во время выполнения, перетаскивая угол?

Ответы [ 3 ]

2 голосов
/ 22 февраля 2009

Вы можете перехватить местоположение мыши и щелчок .. если оно находится в углу, тогда установите логическое значение изменения размера, а затем при событии mousemove вы можете реализовать что-то вроде этого ..

  if (_resizing)
  {
    this.Height = top + e.Y;
    this.Width = width + e.X;
  }
2 голосов
/ 22 февраля 2009

Я не знаю, как перетаскивать углы, но вы можете закрепить панель и использовать разделители, чтобы предоставить пользователям место для изменения размера закрепленных областей.

1 голос
/ 22 февраля 2009

Если вы хотите использовать фактическую System.Windows.Forms.Panel и динамически изменять ее размер, то вам придется делать это так, как если бы вы выполняли drag-n-drop. Вам нужно обработать событие щелчка мыши на панели, определить, находитесь ли вы на краю панели (в пределах 2-3 пикселя), а затем обработать события перетаскивания и изменить свойство размера панели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...