C#重写一个控件Label

1. 首先你把一个label控件拖到窗体上。

2. 创建一个准备继承的类,比如叫LabelEx,派生于Label类

 public class LabelEx : Label
        {
            //鼠标左键双击消息
            private const uint WM_LBUTTONDBLCLK = 0x203;

            protected override void WndProc(ref Message m)
            {
                switch ((uint)m.Msg)
                {
                    case WM_LBUTTONDBLCLK: return;//忽略掉
                }
                base.WndProc(ref m);
            }
        }

3. 打开Form1.Designer.cs文件,你会看到有这么一行。
private System.Windows.Forms.Label label1;
修改为
private MyLabel label1;

再找到this.label1 = new System.Windows.Forms.Label();
修改为this.label1 = new MyLabel();

时间: 2024-08-30 05:02:46

C#重写一个控件Label的相关文章

ios--控件--自定义封装一个控件

感谢原作者的分享: http://blog.csdn.net/zhangao0086/article/details/45622875 前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内:而一个好的控件除了有对外一致的体验之外,还有其内在特征: 灵活性 低耦合 易拓展 易维护 通常特征之间需要做一些取舍,比如灵活性与耦合度,有时候接口越多越能适应各

unity3d插件Daikon Forge GUI 中文教程-2-基础控件Label的使用

(游戏蛮牛首发)大家好我是孙广东.官网提供了专业的视频教程http://www.daikonforge.com/dfgui/tutorials/,不过是在youtube上,要观看是需要翻墙的. 不过教程还是文本更好一些,便于观看查找. 我们先来设置 UI Root 中的如下:屏幕大小为1024*768 2.1  新建一个Label 控件 先来看看Control Properties (基本上是所有控件都共用的)的以后不再介绍,参数: 其中要设置好Layout 和 Anchor 我们就要完全的理解

Android 重写系统控件UI,自定义进度条

Android的系统控件没有对应的XML布局文件,界面的逻辑都是在onDraw(Canvas canvas)里面进行绘制 所以如果对控件的外观进行修改就需要重写onDraw(Canvas canvas)方法,控件的功能逻辑可以不变. 下面是继承ProgressBar重写了控件的界面,一个是加了文字的水平进度条,一个是圆圈的进度条 public class HorizontalProgressBarWithNumber extends ProgressBar { private static fi

C#设置一个控件可以鼠标拖动

C#设置一个控件可以鼠标拖动: 新建一个C#项目, 创建一个label控件, 设置label的鼠标按下和抬起事件分别为:label1_MouseDown和label1_MouseUp. 对代码进行如下修改. public partial class Form1 : Form { private Point mouse_offset; public Form1() { InitializeComponent(); } private void label1_MouseUp(object sende

Android面试通过一个控件展示自己水平

说好的博客,终于要来了. 这篇文章写一下面试时我自己一般是如何展示自己技术水平的. 我是一名做Android的攻城狮,自己的面试经验还算不错,作为求职者自己的面试成功率比较高,而技术关我从来还没遇到不通过的.我面试的时候喜欢先自己展现下自己的技术,然后再是面试官提问:这样让面试官能全面充分的了解我的技术层次,接下来谈薪水待遇自己的话语权就会多一些. 首先声明一点:我不喜欢在面试的时候多谈业务逻辑.多谈项目经验.多去展示自己对具体Api的记忆之类的行为.因为你所谈的项目和业务逻辑,都是需要和别人配

[C#]Winform下回车或Tab键自动切换下一个控件焦点

满足用户体验,在数据录入时,能在输入完一个信息后通过回车或Tab键自动的切换到下一个控件(字段). 在界面控件设计时,默认可以通过设置控件的TabIndex来实现.但在布局调整时或者是对输入的内容有选择性时,从用代码的方式来处理显得更好维护一点. 完整的实现方法如下: /// <summary> /// 回车.Tab键盘切换或执行操作 /// </summary> public sealed class TabEnter:IDisposable { private List<

ExtJs5_继承自定义一个控件

Extjs的开发都可以遵循OOP的原则,其对类的封装也很完善了.自定义一个控件最简单的办法就是继承一个已有的控件.根据上一节的需要,我做了一个Button的子类.首先根据目录结构,在app目录下建立一个ux目录,将自定义控件都放在这个目录下.在ux目录下建立一个文件ButtonTransparent.js. /** * 定义了一个背景透明的Button类,继承于Button */ Ext.define('app.ux.ButtonTransparent', { extend : 'Ext.but

如果一个控件能看见不能处理事件/创建了一个控件看不见

一: 一个控件能看见 但是点击后没有任何反应的原因如下: 1.当前控件的userInteractionEnabled  = NO; 2.如果当前控件继承自UIControl的Enabled = NO 3.当前控件不在父控件的尺寸边框范围 4.当前控件被一个clearColor的控件挡住了 5.检查父控件的前4种情况 如果一个文本输入框能看见但是无法输入文字可能是如下原因: 当前文本输入框没有在主窗口上(ios6中如果文本框没有在主窗口上面 文本输入框的文字无法输入) 二: 如果创建了一个控件 但

DataGridView添加另外一个控件。

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Drawing; 5 using System.Data; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Xml; 10 11 namespace XjxMobilenursi