主頁(yè) > 知識(shí)庫(kù) > .NET運(yùn)行界面上,實(shí)現(xiàn)隨意拖動(dòng)控件的方法

.NET運(yùn)行界面上,實(shí)現(xiàn)隨意拖動(dòng)控件的方法

熱門標(biāo)簽:阿里云 銀行業(yè)務(wù) Linux服務(wù)器 服務(wù)器配置 電子圍欄 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Mysql連接數(shù)設(shè)置 團(tuán)購(gòu)網(wǎng)站

復(fù)制代碼 代碼如下:

using System.Windows.Forms;

namespace WinFormsApp_DragControls

{
    public class DragControl

    {

        //待拖動(dòng)的控件

        private Control m_Control;

        //鼠標(biāo)按下時(shí)的x,y坐標(biāo)

        private int m_X;

        private int m_Y;

        public DragControl(Control control)
        {
            m_Control = control;

            m_Control.MouseDown += new MouseEventHandler(control_MouseDown);

            m_Control.MouseMove += new MouseEventHandler(contro_MouseMove);

        }

        private void control_MouseDown(object sender, MouseEventArgs e)
        {

            m_X = e.X;

            m_Y = e.Y;

        }
        private void contro_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {

                int x = e.X - m_X;

                int y = e.Y - m_Y;

                this.m_Control.Left += x;

                this.m_Control.Top += y;
            }
        }
    }
}

調(diào)用:

DragControl obj1 = new DragControl(button1);

則表示在運(yùn)行的界面上,支持隨意拖動(dòng)button1

另外還可以進(jìn)一步實(shí)現(xiàn)改變控件大小、GDI+實(shí)現(xiàn)加邊界腳點(diǎn)、保存控件的位置到xml下次可以讀取(布局)以及自動(dòng)布局N個(gè)Control的算法等,想進(jìn)一步了解可與本人聯(lián)系,此處不多敘述..

標(biāo)簽:衡水 江蘇 蚌埠 廣元 大理 棗莊 衢州 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.NET運(yùn)行界面上,實(shí)現(xiàn)隨意拖動(dòng)控件的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266