Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перемещение окна (формы) за любое место 
V
    Опции темы
GarryKI
Дата 6.12.2004, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.11.2004

Репутация: нет
Всего: нет



Всем привет
Подскажите плз. кто знает, как реализовать возможность таскать окно без заголовка?
Например:
Взять форму (окно) в любом месте мышкой и перетаскивать ее.

Желательно с примером на C#

Заранее благодарен.

PM MAIL   Вверх
[Last]Wizard
Дата 6.12.2004, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 20.7.2004
Где: Минск, Беларусь

Репутация: 4
Всего: 10



Вот пример, как ты и просил:

Код
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace WindowsApplication1
{
   /// <summary>
   /// Summary description for Form1.
   /// </summary>
   public class Form1 : System.Windows.Forms.Form
   {

       private MouseEventHandler moveDelegate;
       private int oldX;
       private int oldY;

       /// <summary>
       /// Required designer variable.
       /// </summary>
       private System.ComponentModel.Container components = null;

       public Form1()
       {
           //
           // Required for Windows Form Designer support
           //
           InitializeComponent();

           moveDelegate += new MouseEventHandler(this.Form1_MouseMove);
       }

       /// <summary>
       /// Clean up any resources being used.
       /// </summary>
       protected override void Dispose( bool disposing )
       {
           if( disposing )
           {
               if (components != null)
               {
                   components.Dispose();
               }
           }
           base.Dispose( disposing );
       }

       #region Windows Form Designer generated code
       /// <summary>
       /// Required method for Designer support - do not modify
       /// the contents of this method with the code editor.
       /// </summary>
       private void InitializeComponent()
       {
           this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
           this.ClientSize = new System.Drawing.Size(552, 454);
           this.ControlBox = false;
           this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
           this.MaximizeBox = false;
           this.MinimizeBox = false;
           this.Name = "Form1";
           this.Text = "Form1";
           this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown);
           this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseUp);

       }
       #endregion

       /// <summary>
       /// The main entry point for the application.
       /// </summary>
       [STAThread]
       static void Main()
       {
           Application.Run(new Form1());
       }

       private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
       {
           this.MouseMove += moveDelegate;
           oldX = Cursor.Position.X;
           oldY = Cursor.Position.Y;
       }

       private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
       {
           this.MouseMove -= moveDelegate;
           this.Location = new Point(this.Location.X + Cursor.Position.X - oldX, this.Location.Y + Cursor.Position.Y - oldY);
           oldX = Cursor.Position.X;
           oldY = Cursor.Position.Y;
           this.MouseMove +=moveDelegate;
       }

       private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
       {
           this.MouseMove -= moveDelegate;
       }

   }
}



PM ICQ   Вверх
GarryKI
Дата 7.12.2004, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.11.2004

Репутация: нет
Всего: нет



[Last]Wizard

Спасибо большое!!!
PM MAIL   Вверх
Xao
Дата 10.1.2008, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 24.12.2007

Репутация: 1
Всего: 1



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

но у меня возникла проблема при перемещении формы к краям экрана, форма начинает какбдуто отставать от курсора, движется медленнее курсора

подскажите плз как это исправить?

Это сообщение отредактировал(а) Xao - 10.1.2008, 00:49
PM MAIL   Вверх
Xao
Дата 10.1.2008, 02:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 24.12.2007

Репутация: 1
Всего: 1



нашел пример

если кому понадобится, вот ссылка на пример:
http://www.gotdotnet.ru/Downloads/Examples/262596.aspx
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0701 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.