国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

winform實(shí)現(xiàn)可拖動(dòng)的自定義Label控件

2019-10-29 21:06:05
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了winform拖動(dòng)的自定義Label控件,供大家參考,具體內(nèi)容如下

效果預(yù)覽:

winform,拖動(dòng),Label

實(shí)現(xiàn)步驟如下:

(1)首先在項(xiàng)目上右擊選擇:添加->新建項(xiàng),添加自定義控件

winform,拖動(dòng),Label

winform,拖動(dòng),Label

(2)自定義的一個(gè)Label讓它繼承LabelControl控件,LabelControl控件是DevExpress控件庫里面的一種,和Label控件差不多,想了解更多關(guān)于DevExpress控件,推薦到DevExpress控件論壇學(xué)習(xí):

public partial class LabelModule : LabelControl

(3)這個(gè)Label需要實(shí)現(xiàn)的MouseDown。

 private void LabelModule_MouseDown(object sender, MouseEventArgs e)    {      IsMouseDown = true;      MousePrePosition = new Point(e.X, e.Y);      this.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple;      this.Cursor = Cursors.SizeAll;    }

(4)MouseUp,也就是鼠標(biāo)彈起的方法。

private void LabelModule_MouseUp(object sender, MouseEventArgs e)    {      IsMouseDown = false;      this.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Default;      this.Cursor = Cursors.Default;    }

(5)MouseMove,也就是鼠標(biāo)移動(dòng)時(shí)的方法。

private void LabelModule_MouseMove(object sender, MouseEventArgs e)    {      if (!IsMouseDown) return;      this.Top = this.Top + (e.Y - MousePrePosition.Y);      this.Left = this.Left + (e.X - MousePrePosition.X);    }

e.X,e.Y 指的是:鼠標(biāo)的坐標(biāo)因所引發(fā)的事件而異。例如,當(dāng)處理 Control.MouseMove 事件時(shí),鼠標(biāo)的坐標(biāo)值是相對(duì)于引發(fā)事件的控件的坐標(biāo)。一些與拖放操作相關(guān)的事件具有相對(duì)于窗體原點(diǎn)或屏幕原點(diǎn)的關(guān)聯(lián)的鼠標(biāo)坐標(biāo)值。

完整代碼:LabelModule.cs

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using DevExpress.XtraEditors;namespace IJPrinterSoftware{  public partial class LabelModule : LabelControl  {    private bool IsMouseDown = false;    private Point MousePrePosition;        private void init()    {      InitializeComponent();      this.MouseDown += new MouseEventHandler(LabelModule_MouseDown);      this.MouseUp += new MouseEventHandler(LabelModule_MouseUp);      this.MouseMove+=new MouseEventHandler(LabelModule_MouseMove);    }    public LabelModule()    {      init();    }    private void LabelModule_MouseDown(object sender, MouseEventArgs e)    {      IsMouseDown = true;      MousePrePosition = new Point(e.X, e.Y);      this.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple;      this.Cursor = Cursors.SizeAll;    }    private void LabelModule_MouseUp(object sender, MouseEventArgs e)    {      IsMouseDown = false;      this.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Default;      this.Cursor = Cursors.Default;    }    private void LabelModule_MouseMove(object sender, MouseEventArgs e)    {      if (!IsMouseDown) return;      this.Top = this.Top + (e.Y - MousePrePosition.Y);      this.Left = this.Left + (e.X - MousePrePosition.X);    }  }}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿克陶县| 仁化县| 昌图县| 江口县| 博野县| 合作市| 东兰县| 常熟市| 大冶市| 武乡县| 皋兰县| 塔河县| 南昌市| 扶余县| 桦川县| 正定县| 游戏| 射洪县| 博爱县| 惠安县| 榆社县| 湘潭县| 金寨县| 井陉县| 延庆县| 周口市| 西吉县| 涿鹿县| 贵溪市| 永清县| 商南县| 儋州市| 靖西县| 资溪县| 洪泽县| 沿河| 新郑市| 习水县| 宣化县| 深泽县| 墨江|