mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-20 04:48:53 +00:00
92 lines
2.3 KiB
C#
92 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Microsoft.VisualStudio.Project;
|
|
using Microsoft.VisualStudio;
|
|
|
|
namespace Cosmos.VS.Package
|
|
{
|
|
public partial class TitleDivision : UserControl
|
|
{
|
|
public TitleDivision()
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.Resize += new EventHandler(TitleDivision_Resize);
|
|
this.Paint += new PaintEventHandler(TitleDivision_Paint);
|
|
this.labelTitle.Resize += new EventHandler(Title_Resize);
|
|
this.FontChanged += new EventHandler(TitleDivision_FontChanged);
|
|
|
|
this.LineColor = SystemColors.ControlDark;
|
|
}
|
|
|
|
void TitleDivision_FontChanged(object sender, EventArgs e)
|
|
{
|
|
this.labelTitle.Font = this.Font;
|
|
}
|
|
|
|
void TitleDivision_Resize(object sender, EventArgs e)
|
|
{
|
|
Single halfHeight;
|
|
halfHeight = this.Size.Height * 0.5f;
|
|
halfHeight = halfHeight - (this.labelTitle.Size.Height * 0.5f);
|
|
|
|
this.labelTitle.Location = new Point(0, (Int32)halfHeight);
|
|
this.Invalidate();
|
|
}
|
|
|
|
void TitleDivision_Paint(object sender, PaintEventArgs e)
|
|
{
|
|
Pen linePen;
|
|
Single halfHeight;
|
|
Single start;
|
|
Single end;
|
|
|
|
halfHeight = (this.Size.Height * 0.5f) + 1.0f;
|
|
start = (Single)this.labelTitle.Right;
|
|
|
|
if (String.IsNullOrEmpty(this.labelTitle.Text) == false)
|
|
{
|
|
start += (Single)this.labelTitle.Margin.Right;
|
|
}else{
|
|
start += (Single)this.Padding.Left;
|
|
}
|
|
|
|
end = this.Size.Width - (Single)this.Padding.Right;
|
|
|
|
linePen = new Pen(this.LineColor);
|
|
|
|
e.Graphics.DrawLine(linePen, start, halfHeight, end, halfHeight);
|
|
|
|
linePen.Dispose();
|
|
linePen = null;
|
|
}
|
|
|
|
void Title_Resize(object sender, EventArgs e)
|
|
{
|
|
this.Size = new Size(this.Size.Width, this.labelTitle.Size.Height);
|
|
this.Invalidate();
|
|
}
|
|
|
|
[SRCategoryAttribute("Category")]
|
|
[DisplayName("Line Color")]
|
|
[SRDescriptionAttribute("Description")]
|
|
public Color LineColor
|
|
{ get; set; }
|
|
|
|
[SRCategoryAttribute("Category")]
|
|
[DisplayName("Title")]
|
|
[SRDescriptionAttribute("Description")]
|
|
public String Title
|
|
{
|
|
get{ return this.labelTitle.Text; }
|
|
set{ this.labelTitle.Text = value; }
|
|
}
|
|
|
|
}
|
|
}
|