重写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)
            
{
                
//写绘制放大镜代码
            }

        }

    }

}

你可能感兴趣的:(text)