Winform自定义控件

Winform控件分为用户控件和自定义控件,用户控件比较简单,本文讨论的是自定义控件。

MS控件,无论是Winform控件还是Webform控件,无论是用户控件还是自定义控件,都有着相同的设计思想。

1)对于自定义控件来说:

Winform控件的UI显示是靠OnPrint方法,Webform控件的UI显示是靠RenderXXXX方法。

2)对于自定义控件和用户控件来说:

Winfrom控件和Webform控件的属性在UI设计中起到了至关重要的作用。在设计视图中都可以设置属性来达到设置UI的效果。记得Winfrom的属性set要调用Invalidate();方法来完成重绘。

3)对于设计UI来说:

Winform是依赖于GDI+绘制,Webform则依赖对html的熟悉,通过render将生成的html代码返回到客户端。

以下是Winfrom自定义控件的代码:

  using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Text;
using  System.Windows.Forms;

namespace  WinformControl
{
    
public   partial   class  LandpyControl : Control
    {
        
public  LandpyControl()
        {
            InitializeComponent();
        }

        
private  Color _textColor;

        
public  Color TextColor
        {
            
get  {  return  _textColor; }
            
set
            {
                _textColor 
=  value;
                Invalidate();
            }
        }

        
protected   override   void  OnPaint(PaintEventArgs pe)
        {
            
base .OnPaint(pe);
            Font enFont 
=   new  Font( " Times New Roman " 12 );
            Rectangle rect 
=  pe.ClipRectangle;
            pe.Graphics.DrawString(Text, enFont, 
new  SolidBrush(_textColor),  0 0 );
        }

        
protected   override   void  OnClick(EventArgs e)
        {
            
base .OnClick(e);
            _textColor 
=  Color.Red;
            Invalidate();
        }

        
protected   override   void  OnMouseLeave(EventArgs e)
        {
            
base .OnMouseLeave(e);
            _textColor 
=  Color.Black;
            Invalidate();
        }
    }
}

通过TextColor可以设置显示文字的颜色,并且可定义控件的事件。

简单的Winfrom自定义控件就完成了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值