39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
#if FRAMEWORK20
 | 
						|
using System;
 | 
						|
using System.Text;
 | 
						|
using System.Windows.Forms.Design;
 | 
						|
using System.Collections;
 | 
						|
using System.Windows.Forms.Design.Behavior;
 | 
						|
 | 
						|
namespace DevComponents.DotNetBar.Design
 | 
						|
{
 | 
						|
    public class LabelXDesigner : ControlDesigner
 | 
						|
    {
 | 
						|
        public override System.Collections.IList SnapLines
 | 
						|
        {
 | 
						|
            get
 | 
						|
            {
 | 
						|
                LabelX l = this.Control as LabelX;
 | 
						|
                IList snapLines = base.SnapLines;
 | 
						|
                
 | 
						|
                int fontBaseOffset = (int)Math.Floor(l.Font.Size * l.Font.FontFamily.GetCellDescent(l.Font.Style) / l.Font.FontFamily.GetEmHeight(l.Font.Style));
 | 
						|
                if (l.TextLineAlignment == System.Drawing.StringAlignment.Center)
 | 
						|
                {
 | 
						|
                    fontBaseOffset = (int)Math.Floor((double)(l.Height - l.Font.Height) / 2) + l.Font.Height-fontBaseOffset;
 | 
						|
                }
 | 
						|
                else if (l.TextLineAlignment == System.Drawing.StringAlignment.Far)
 | 
						|
                {
 | 
						|
                    fontBaseOffset = l.Height - fontBaseOffset;
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    fontBaseOffset = l.Font.Height - fontBaseOffset;
 | 
						|
                }
 | 
						|
 | 
						|
                snapLines.Add(new SnapLine(SnapLineType.Baseline, fontBaseOffset, SnapLinePriority.Medium));
 | 
						|
                return snapLines;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
#endif |