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