代码改变世界

可以显示多项式的Label组件……

2008-12-05 22:07 by Tsanie, ... 阅读, ... 评论, 收藏, 编辑

使用方法

和Label组件一样用,自动解析Text中指数部分,并以上标显示出来。例如:3.2x^5+2x^3-1.2x^2+5.4x……

效果图

下面的显示部分的3个文本框……

代码

本来为了提高速度,用了个Bitmap _bmp;字段,文本更改的时候重新绘制到_bmp里,这样OnPaint()的时候就绘制这个图片就行了,后来发现绘制_bmp的时候里面的文字就变的十分丑陋了,TextRenderingHint改成ClearTypeGridFit没有效果,AntiAlias会好点,不过就模糊了,,不如直接在OnPaint方法里DrawString时的ClearType效果…………谁有好办法告诉我声~~~

/*
 * Copyright (c) 2008 黑色珊瑚::DS.Controls, Reserved.
 * 
 * Filename:    @(#)TsMathLabel.cs
 * Create by:   TsOrgY
 * Email:       tsorgy@gmail.com
 * Date:        2008/12/4 20:05:36
 * 
 * Classname:   TsMathLabel
 * Description: 多项式标签,可以按照数学模式来显示多项式(显示上标)
 *              格式:3x^2+2.3x^1-1.2x^4+
 
*/

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

namespace DS.Controls
{
    
/// <summary>
    
/// 多项式标签
    
/// </summary>

    public class TsMathLabel : Label
    
{
        
* StringPie *

        
-私有字段-

        
-构造-

        
-私有方法-

        
-重写-
    }

}