一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - winform實現可拖動的自定義Label控件

winform實現可拖動的自定義Label控件

2022-02-22 13:30炒飯君 C#

這篇文章主要為大家詳細介紹了winform實現可拖動的自定義Label控件,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了winform可拖動的自定義label控件,供大家參考,具體內容如下

效果預覽:

winform實現可拖動的自定義Label控件

實現步驟如下:

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

winform實現可拖動的自定義Label控件

winform實現可拖動的自定義Label控件

(2)自定義的一個label讓它繼承labelcontrol控件,labelcontrol控件是devexpress控件庫里面的一種,和label控件差不多,想了解更多關于devexpress控件,推薦到devexpress控件論壇學習:

?
1
public partial class labelmodule : labelcontrol

(3)這個label需要實現的mousedown。

?
1
2
3
4
5
6
7
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,也就是鼠標彈起的方法。

?
1
2
3
4
5
6
private void labelmodule_mouseup(object sender, mouseeventargs e)
    {
      ismousedown = false;
      this.borderstyle = devexpress.xtraeditors.controls.borderstyles.default;
      this.cursor = cursors.default;
    }

(5)mousemove,也就是鼠標移動時的方法。

?
1
2
3
4
5
6
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 指的是:鼠標的坐標因所引發的事件而異。例如,當處理 control.mousemove 事件時,鼠標的坐標值是相對于引發事件的控件的坐標。一些與拖放操作相關的事件具有相對于窗體原點或屏幕原點的關聯的鼠標坐標值。

完整代碼:labelmodule.cs

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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);
    }
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/a1061747415/article/details/47656307

延伸 · 閱讀

精彩推薦
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
主站蜘蛛池模板: 国产伦精品一区二区三区免费观看 | 18日本xxxxxxⅹxx96 | 欧美艳星julnaann | 亚洲国产日韩欧美一区二区三区 | 国内自拍网红在综合图区 | 久久99热狠狠色AV蜜臀 | 好大好猛好爽好深视频免费 | 国产目拍亚洲精品一区二区三区 | 4hu影院在线观看 | 国产精品色图 | 88av免费观看| 久久婷婷五月综合色丁香花 | 亚洲国产成人精品激情 | 操一炮| 大肚孕妇的高h辣文 | 教师波多野结衣在线播放 | 亚洲一区二区精品视频 | 日本肉体xxxx | 3d肉浦团在线观看 | 亚洲 欧美 中文 日韩欧美 | 特色特色大片在线 | 欧美坐爱 | 成人网视频免费播放 | 无限在线观看视频大全免费高清 | 91色+91sesex| 肉色欧美久久久久久久蜜桃 | 热九九精品 | japanese厕所撒尿 | 黄绝一级 | 99精品国产在现线免费 | 精品国产品国语在线不卡丶 | 暖暖在线精品日本中文 | 日本无遮挡拍拍拍凤凰 | 好大好想要 | 色综合视频在线观看 | 国产嫩草视频 | 午夜精品网 | 手机av影院 | haodiaose在线精品免费观看 | 国产xxxxxx久色视频在 | 欧美综合精品一区二区三区 |