亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c#可以創建任意控件的拖動方法

2019-10-29 21:02:58
字體:
來源:轉載
供稿:網友

經常進行圖形界面設計的編程者肯定知道,控件在設計的時候才能隨意拖動,運行的時候就不能拖動了.

你肯定會問:運行時能隨意拖動控件嗎?答案是肯定的,我們的項目涉及到了這一點,我已經實現了,實際上很簡單的喲.我就拿出來給你們show一下,哈哈,各位高手不要笑我喲。

我們先從簡單的入手,一步一步的來吧:

首先,新建一個Form1,拖進去一個label1,text為:鼠標拖動控件練習.接下來就是為它注冊事件了,這里我們注冊的是label1_MouseUp,label1_MouseDown兩個事件.在實現注冊事件的代碼前要先定義一個Point對象(全局),

private Point mouse_offset;

用來記錄鼠標位置,以便平移鼠標位置。

下面是label1_MouseDown的代碼:

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

是不是非常easy喲.

下面是label1_MouseUp的代碼:

private void label1_MouseUp(object sender, MouseEventArgs e)    {      if (e.Button == MouseButtons.Left)      {        Point mousePos = Control.MousePosition;        mousePos.Offset(mouse_offset.X, mouse_offset.Y);        ((Control)sender).Location = ((Control)sender).Parent.PointToClient(mousePos);      }    }

這個比較復雜,有必要介紹下,

Point mousePos = Control.MousePosition;定義一個 Point,它包含鼠標光標相對于屏幕左上角的坐標。此時記錄的是當前鼠標的位置,也就是最后放控件的位置.

mousePos.Offset(mouse_offset.X, mouse_offset.Y);

是一個方法,

Point.Offset(Int32,Int32)

將此 Point 平移指定的量。

((Control)sender).Location = ((Control)sender).Parent.PointToClient(mousePos);

這個里面的sender大家應該很清楚吧,就是觸發事件的label1嘍,((Control)sender).Location 這句話就是指定label1的位置,((Control)sender).Parent當然就代表當前的Form1了,如果Form1嵌套在另外一個Form1里面,那么后面可以在有一個.Parent,即:((Control)sender).Parent.Parent,.......依次類推嘍.......

Control.PointToClient 方法,將指定屏幕點的位置計算成工作區坐標。參數是:

要轉換的屏幕坐標 Point。

事實工作已經完成了,很簡單吧,覺得汗吧......C#創建可以隨意拖動的控件

下次介紹運行時怎樣動態添加控件.C#創建可以隨意拖動的控件

下面把代碼附上:

form1.desgener////////代碼

namespace 窗體拖動1{  partial class Form1  {    /// <summary>    /// 必需的設計器變量。    /// </summary>    private System.ComponentModel.IContainer components = null;    /// <summary>    /// 清理所有正在使用的資源。    /// </summary>    /// <param name="disposing">如果應釋放托管資源,為 true;否則為 false。</param>    protected override void Dispose(bool disposing)    {      if (disposing && (components != null))      {        components.Dispose();      }      base.Dispose(disposing);    }    #region Windows 窗體設計器生成的代碼    /// <summary>    /// 設計器支持所需的方法 - 不要    /// 使用代碼編輯器修改此方法的內容。    /// </summary>    private void InitializeComponent()    {      this.label1 = new System.Windows.Forms.Label();      this.SuspendLayout();      //      // label1      //      this.label1.AutoSize = true;      this.label1.Location = new System.Drawing.Point(92, 86);      this.label1.Name = "label1";      this.label1.Size = new System.Drawing.Size(101, 12);      this.label1.TabIndex = 0;      this.label1.Text = "鼠標拖動控件練習";      this.label1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.label1_MouseDown);      this.label1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.label1_MouseUp);      //      // Form1      //      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;      this.ClientSize = new System.Drawing.Size(292, 266);

以上這篇c#可以創建任意控件的拖動方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品激情在线| 国产精品自产拍在线观看中文| 久久男人资源视频| 国产视频精品自拍| 2021国产精品视频| yw.139尤物在线精品视频| 国产在线观看91精品一区| 久久亚洲私人国产精品va| 久久成人一区二区| 亚洲免费中文字幕| 欧美日韩性视频| 亚洲黄一区二区| 日韩亚洲综合在线| 亚洲欧美999| 成人性生交大片免费观看嘿嘿视频| 福利视频一区二区| 欧美精品中文字幕一区| 亚洲人午夜色婷婷| 97av视频在线| 亚洲精品国产品国语在线| 亚洲精品国产拍免费91在线| 久久精品中文字幕一区| 亚洲国产天堂久久综合| 亚洲精品不卡在线| 国产欧美精品日韩精品| 最近2019中文免费高清视频观看www99| 欧美成人在线网站| 国产精品视频白浆免费视频| 亚洲色图25p| 国产成+人+综合+亚洲欧美丁香花| 国产精品日韩在线一区| 国产精品一区久久久| 日韩精品欧美国产精品忘忧草| 国产精品xxxxx| 人人爽久久涩噜噜噜网站| 91久久在线播放| 精品呦交小u女在线| 亚洲成人av片在线观看| 亚洲精品国产品国语在线| 国产精品久久久久久婷婷天堂| 国产欧美日韩免费看aⅴ视频| 亚洲精品二三区| 91高清在线免费观看| 国产91在线播放精品91| 欧美日韩精品在线观看| 蜜月aⅴ免费一区二区三区| 97视频在线观看亚洲| 欧美第一淫aaasss性| 91久久在线观看| 国产精品久久久久久亚洲调教| 亚洲精品成人av| 91精品国产成人www| 亚洲精选在线观看| 国产精品嫩草影院久久久| 亚洲欧美日韩国产中文| 久热99视频在线观看| 日韩在线免费视频观看| 日韩激情第一页| 中文字幕日本精品| 日韩有码片在线观看| 日韩免费电影在线观看| 欧美日韩美女视频| 91精品国产色综合久久不卡98口| 欧美精品videossex88| 永久免费精品影视网站| 激情懂色av一区av二区av| 中文字幕视频一区二区在线有码| 日韩在线中文字| 亚洲国产三级网| 亚洲少妇中文在线| 韩国精品久久久999| 久久久久久久久久久久av| 激情久久av一区av二区av三区| 欧美激情第三页| 亚洲一区二区福利| 成人综合网网址| 日韩一区二区三区国产| 欧美激情亚洲自拍| 亚洲已满18点击进入在线看片| 国产亚洲欧美日韩精品| 亚洲免费视频在线观看| 欧美乱人伦中文字幕在线| 久久影视电视剧免费网站清宫辞电视| 亚洲欧美一区二区精品久久久| 麻豆成人在线看| 国产热re99久久6国产精品| 日本精品一区二区三区在线播放视频| 国产精品一区二区女厕厕| 国产视频亚洲精品| 91综合免费在线| 欧美视频免费在线| 久久久久久久999| 亚洲无线码在线一区观看| 精品久久久久久久久久久久久久| 中文字幕精品av| 91精品国产91久久久久久不卡| 亚洲一二三在线| 亚洲欧美激情另类校园| 国产欧美一区二区三区在线看| 久久久久久久999精品视频| 精品女同一区二区三区在线播放| 日韩精品在线视频观看| 亚洲肉体裸体xxxx137| 国产亚洲精品日韩| 深夜福利国产精品| 欧美最猛性xxxx| 狠狠躁夜夜躁人人爽天天天天97| 国产成人高潮免费观看精品| 91免费在线视频| 91精品国产91久久久久久吃药| 国产精品中文字幕在线观看| 亚洲一区二区三区毛片| 欧美日韩国产色视频| 九色精品美女在线| 91亚洲精华国产精华| 日韩国产欧美精品一区二区三区| 国产精品国产亚洲伊人久久| 久久久影视精品| 91精品国产综合久久香蕉最新版| 欧美国产日韩一区二区| 欧美性xxxxx极品| 欧美性猛交99久久久久99按摩| 日本电影亚洲天堂| 日韩精品免费综合视频在线播放| 久久人人看视频| 国产69久久精品成人看| www.欧美免费| 亚洲精品中文字幕av| 91亚洲va在线va天堂va国| 欧美精品免费播放| 日韩欧美高清视频| 中文字幕在线国产精品| 国产欧美va欧美va香蕉在线| 亚洲激情视频网站| 在线国产精品视频| 国产精品精品久久久久久| 欧美激情xxxxx| 色吧影院999| 欧美在线观看日本一区| 国模极品一区二区三区| 欧美寡妇偷汉性猛交| 久久亚洲精品一区| 亚洲大胆人体视频| 欧美日韩国产第一页| 欧美成人精品一区二区| 欧美亚洲午夜视频在线观看| 精品视频—区二区三区免费| 久久久久久国产精品美女| 91日本视频在线| 蜜臀久久99精品久久久无需会员| 亚洲欧美精品一区| 色综合男人天堂| 亚洲日本欧美中文幕| 欧美一级免费看| 亚洲国产日韩一区| 国产精品国产三级国产aⅴ9色| 中文字幕日韩免费视频| 91精品一区二区| 欧美尤物巨大精品爽| 在线日韩精品视频| 九九精品视频在线| 国产成人97精品免费看片| 亚洲国产天堂网精品网站| 一本色道久久88综合亚洲精品ⅰ|