• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c#自定义控件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

  在自定义控件的过程中,可以优先考虑从现有的控件中进行派生,并添加所需要的功能。(制作效果,当鼠标指针移动到控件时,控件颜色就会发生改变,当鼠标离开时就恢复原来的颜色)

  首先添加一个新的类。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;


namespace Contol颜色
{
    //[DefaultProperty("HoverColor")]
    //[Designer(typeof(ColourControl))]
    public class ColourControl : Control
    {
        #region 
        //重写该属性以设置控件默认大小
        protected override System.Drawing.Size DefaultSize
        {
            get
            {
                return new Size(100, 100);
            }
        }
        //当鼠标指针移动到控件区域内时的颜色
        public Color HoverColor
        {
            get { return M_hoverColor; }
            set
            {
                M_hoverColor = value;
                Invalidate();//强制重新绘制
            }
        }
        #endregion

        #region
        //该变量标识鼠标指针是否已经进入控件的区域
        private bool isMouseEnter = false;
        //当鼠标进入控件区域后的背景颜色
        Color M_hoverColor;
        #endregion

        #region 方法
        protected override void OnMouseEnter(EventArgs e)
        {
            //标识鼠标指正已经进入区域
            isMouseEnter = true;
            //强制重新绘制
            Invalidate();
            base.OnMouseEnter(e);
        }
        protected override void OnMouseLeave(EventArgs e)
        {
            //标识鼠标指针是否已经离开控件
            isMouseEnter = false;
            //强制重新绘制
            Invalidate();
            base.OnMouseLeave(e);
        }
        protected override void OnPaint(PaintEventArgs e)
        {
            //用于填充控件背景区域的画刷
            SolidBrush brush = new SolidBrush(BackColor);
            if (isMouseEnter)
            {
                brush.Color = HoverColor;
            }
            e.Graphics.FillRectangle(brush, e.ClipRectangle);
            //释放画刷资源
            brush.Dispose();
        }
        #endregion
    }
}

   在解决方案资源管理器窗口中设置:引用---->添加引用,勾选

  点击重新生成项目。找到

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap