Безымянная, но подвижная форма WinForms - PullRequest
2 голосов
/ 29 ноября 2010

Мне нужно создать произвольную, но одностороннюю подвижную форму WinForms. Возможно ли это?

Вот пример приложения VB6, которое я портирую (я добавил курсор в Paint :)):

alt text

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

Установите FormBorderStyle = None, а затем используйте события mouseover и mouse down для пользовательской обработки вашего перемещения или просмотра SplitContainer.

0 голосов
/ 29 ноября 2010

Хорошо, здесь, код ниже гарантирует, что форму можно перемещать только вертикально:

public partial class FrmMain : Form {
    Point mouse_offset;

    private void FrmMain_MouseDown(object sender, MouseEventArgs e) {
        mouse_offset = new Point(-e.X, -e.Y);
    }

    private void FrmMain_MouseMove(object sender, MouseEventArgs e) {
        if (e.Button == MouseButtons.Left) {
            Point mousePos = Control.MousePosition;
            mousePos.Offset(0, mouse_offset.Y);
            mousePos.X = this.Location.X;
            this.Location = mousePos;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...