Нарисуйте линии с пользовательскими тире в C#
Чтобы создать строки с пользовательскими тире, сначала создайте объект Pen и установите его свойство DashStyle в Custom. Затем установите его свойство DashPattern в массив чисел с плавающей запятой, которые указывают, сколько единиц нужно рисовать, а затем пропускать. Например, массив {5, 1} означает draw 5, пропустить 1, а затем повторить по мере необходимости.
Единица чертежа - это толщина линии. Например, если линия имеет ширину в 5 пикселей, то массив {5, 1} означает draw 5 & times; 5 = 25 пикселей, пропустить 1 раз; 5 = 5 пикселей и повторите.
Пример программы использует следующий код для рисования своих образцов.
private void Form1_Paint(object sender, PaintEventArgs e)
{
int y = 20;
int x1 = 65;
int x2 = ClientSize.Width - 10;
using (Pen dashed_pen = new Pen(Brushes.Red, 5))
{
dashed_pen.DashStyle = DashStyle.Custom;
dashed_pen.DashPattern = new float[] { 3, 1 };
e.Graphics.DrawString("3, 1", this.Font,
Brushes.Black, 10, y - 8);
e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
y += 20;
dashed_pen.DashPattern = new float[] { 5, 1, 5, 5 };
e.Graphics.DrawString("5, 1, 5, 5", this.Font,
Brushes.Black, 10, y - 8);
e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
y += 20;
dashed_pen.DashPattern = new float[] { 5, 1 };
e.Graphics.DrawString("5, 1", this.Font,
Brushes.Black, 10, y - 8);
e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
y += 20;
dashed_pen.DashPattern = new float[] { 1, 3 };
e.Graphics.DrawString("1, 3", this.Font,
Brushes.Black, 10, y - 8);
e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
y += 20;
dashed_pen.DashPattern = new float[] { 3, 1, 1, 1 };
e.Graphics.DrawString("3, 1, 1, 1", this.Font,
Brushes.Black, 10, y - 8);
e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
y += 20;
}
}
