重写Textbox

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

namespace MyTextBox
{
    
public partial class MyTextBox : TextBox
    
{
        
bool isMouseClick = false;
        
public MyTextBox()
        
{
            InitializeComponent();
        }

        
protected override void OnMouseClick(MouseEventArgs e)
        
{
            
base.OnMouseClick(e);
            
//
            isMouseClick = true;
            isMouseLeave 
= false;
            Refresh();
//产生点击事件以后,重画控件,NET自己会调用OnPaint()方法
        }

        
protected override void OnMouseLeave(EventArgs e)
        
{
            
base.OnMouseLeave(e);
            
//
            isMouseClick = false;
            Refresh();
//鼠标离开以后,重画控件,NET自己会调用OnPaint()方法
        }

        
protected override void OnPaint(PaintEventArgs e)
        
{
            
base.OnPaint(e);//这里是 TextBox 原有的绘制代码
            
//下面可以绘制放大镜

            
if (isMouseClick)
            
{
                
//写绘制放大镜代码
            }

        }

    }

}
posted @ 2007-09-17 15:34  roboth  阅读(463)  评论(0)    收藏  举报