Рисование линии си шарп

Graphics. Draw Lines Метод

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Рисует ряд сегментов линий, которые соединяют массив структур Point.

Перегрузки

Рисует ряд сегментов линий, которые соединяют массив структур PointF.

Рисует ряд сегментов линий, которые соединяют массив структур Point.

DrawLines(Pen, PointF[])

Рисует ряд сегментов линий, которые соединяют массив структур PointF.

public: void DrawLines(System::Drawing::Pen ^ pen, cli::array ^ points);
public void DrawLines (System.Drawing.Pen pen, System.Drawing.PointF[] points);
member this.DrawLines : System.Drawing.Pen * System.Drawing.PointF[] -> unit
Public Sub DrawLines (pen As Pen, points As PointF())

Параметры

Структура Pen, определяющая цвет, ширину и стиль сегментов линии.

Массив структур PointF, представляющий точки для соединения.

Исключения

points имеет значение null .

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e , который является параметром обработчика Paint событий. Код выполняет следующие действия.

  • Код создает черную ручку.
  • Создает массив точек сегментов линии.
  • Рисует подключенные сегменты линии на экране.
public: void DrawLinesPointF( PaintEventArgs^ e ) < // Create pen. Pen^ pen = gcnew Pen( Color::Black,3.0f ); // Create array of points that define lines to draw. array^ points = ; //Draw lines to screen. e->Graphics->DrawLines( pen, points ); > 
public void DrawLinesPointF(PaintEventArgs e) < // Create pen. Pen pen = new Pen(Color.Black, 3); // Create array of points that define lines to draw. PointF[] points = < new PointF(10.0F, 10.0F), new PointF(10.0F, 100.0F), new PointF(200.0F, 50.0F), new PointF(250.0F, 300.0F) >; //Draw lines to screen. e.Graphics.DrawLines(pen, points); > 
Public Sub DrawLinesPointF(ByVal e As PaintEventArgs) ' Create pen. Dim blackPen As New Pen(Color.Black, 3) ' Create array of points that define lines to draw. Dim points As PointF() = 'Draw lines to screen. e.Graphics.DrawLines(blackPen, points) End Sub 

Комментарии

Этот метод рисует ряд линий, соединяющих массив конечных точек. Первые две точки массива указывают первую строку. Каждая дополнительная точка указывает конец сегмента линии, начальная точка которого является конечной точкой предыдущего сегмента строки.

Источник

The best way to draw a line in windows form C#

I just want to know the best way to draw a line in windows form without using GDI+,but use control from toolbox.

what kind of line? you could draw a 1 pixel wide panel with a black border (although it’s paint method would use gdi+ I believe) or invoke gdi32.dll (not plus)

5 Answers 5

Another solution using Label control

  1. Add a Label control to your form.
  2. Set Label Text to empty.
  3. Set BorderStyle to Fixed3D.
  4. Set AutoSize to false.
  5. Set Height to 2 (most easily accomplished by typing 2 into the Size/Height field under Label Properties).

Might not be the best choice but should help

 Label lbl = new Label(); lbl.Text = "_________________________________"; this.Controls.Add(lbl); 
// separator bevel line Label labelSeperator = new Label(); labelSeperator.AutoSize = false; labelSeperator.Height = 2; labelSeperator.BorderStyle = BorderStyle.Fixed3D; this.Controls.Add(labelSeperator); 

You can use my control:

using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; public class AmenLine : Control < bool SzChInternaly; public enum EDIR : int < Horizontal = 0, Vertical = 1, Slash = 2, BKSlash = 3 >public enum eStyle : int < rect = 0, circ = 1 >private eStyle _DrawStyle; public eStyle DrawStyle < get < return _DrawStyle; >set < _DrawStyle = value; BuildMe(_Direc); >> private EDIR _Direc = EDIR.Horizontal; public EDIR Direction < get < return _Direc; >set < if ((value == EDIR.Horizontal && _Direc == EDIR.Vertical) | (value == EDIR.Vertical && _Direc == EDIR.Horizontal)) < SzChInternaly = true; this.Size = new Size(this.Height, this.Width); >_Direc = value; BuildMe(value); > > private void BuildMe(EDIR BodyDir) < try < SzChInternaly = true; Drawing2D.GraphicsPath gr = new Drawing2D.GraphicsPath(); switch (BodyDir) < case EDIR.Horizontal: this.Size = new Size(this.Width, _BorderWidth + 10); gr.AddRectangle(new Rectangle(0, (-_BorderWidth + this.Height) / 2, this.Width, _BorderWidth)); break; case EDIR.Vertical: this.Size = new Size(_BorderWidth + 10, this.Height); gr.AddRectangle(new Rectangle((-_BorderWidth + this.Width) / 2, 0, _BorderWidth, this.Height)); break; case EDIR.Slash: try < // CType(_BorderWidth * Height / Width, Integer) for (i = 0; i > > catch < >break; case EDIR.BKSlash: try < // CType(_BorderWidth * Height / Width, Integer) for (i = 0; i > > catch < >break; > this.Region = new Region(gr); SzChInternaly = false; > catch < >> private int _BorderWidth = 1; public int BorderWidth < get < return _BorderWidth; >set < _BorderWidth = value; BuildMe(_Direc); >> public AmenLine() < this.BackColor = Color.Black; BuildMe(_Direc); >protected override void OnSizeChanged(System.EventArgs e) < base.OnSizeChanged(e); if (SzChInternaly == false) BuildMe(_Direc); >> 

Источник

Graphics. Draw Line Метод

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Проводит линию, соединяющую две точки, задаваемые парами координат.

Перегрузки

Проводит линию, соединяющую две структуры PointF.

Проводит линию, соединяющую две структуры Point.

Проводит линию, соединяющую две точки, задаваемые парами координат.

Проводит линию, соединяющую две точки, задаваемые парами координат.

DrawLine(Pen, PointF, PointF)

Проводит линию, соединяющую две структуры PointF.

public: void DrawLine(System::Drawing::Pen ^ pen, System::Drawing::PointF pt1, System::Drawing::PointF pt2);
public void DrawLine (System.Drawing.Pen pen, System.Drawing.PointF pt1, System.Drawing.PointF pt2);
member this.DrawLine : System.Drawing.Pen * System.Drawing.PointF * System.Drawing.PointF -> unit
Public Sub DrawLine (pen As Pen, pt1 As PointF, pt2 As PointF)

Параметры

Структура Pen, определяющая цвет, ширину и стиль линии.

Структура PointF, представляющая первую точку для соединения.

Структура PointF, представляющая вторую точка для соединения.

Исключения

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e , который является параметром обработчика Paint событий. Код выполняет следующие действия.

  • Создает черную ручку.
  • Создает точки для конечных точек линии.
  • Рисует линию на экране.
public: void DrawLinePointF( PaintEventArgs^ e ) < // Create pen. Pen^ blackPen = gcnew Pen( Color::Black,3.0f ); // Create points that define line. PointF point1 = PointF(100.0F,100.0F); PointF point2 = PointF(500.0F,100.0F); // Draw line to screen. e->Graphics->DrawLine( blackPen, point1, point2 ); > 
public void DrawLinePointF(PaintEventArgs e) < // Create pen. Pen blackPen = new Pen(Color.Black, 3); // Create points that define line. PointF point1 = new PointF(100.0F, 100.0F); PointF point2 = new PointF(500.0F, 100.0F); // Draw line to screen. e.Graphics.DrawLine(blackPen, point1, point2); >
Public Sub DrawLinePointF(ByVal e As PaintEventArgs) ' Create pen. Dim blackPen As New Pen(Color.Black, 3) ' Create points that define line. Dim point1 As New PointF(100.0F, 100.0F) Dim point2 As New PointF(500.0F, 100.0F) ' Draw line to screen. e.Graphics.DrawLine(blackPen, point1, point2) End Sub 

Комментарии

Этот метод рисует линию, соединяющую две точки, заданные параметрами pt1 и p 2 .

См. также раздел

Применяется к

DrawLine(Pen, Point, Point)

Проводит линию, соединяющую две структуры Point.

public: void DrawLine(System::Drawing::Pen ^ pen, System::Drawing::Point pt1, System::Drawing::Point pt2);
public void DrawLine (System.Drawing.Pen pen, System.Drawing.Point pt1, System.Drawing.Point pt2);
member this.DrawLine : System.Drawing.Pen * System.Drawing.Point * System.Drawing.Point -> unit
Public Sub DrawLine (pen As Pen, pt1 As Point, pt2 As Point)

Параметры

Структура Pen, определяющая цвет, ширину и стиль линии.

Структура Point, представляющая первую точку для соединения.

Структура Point, представляющая вторую точка для соединения.

Исключения

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e , который является параметром обработчика Paint событий. Код выполняет следующие действия.

  • Создает черную ручку.
  • Создает точки для конечных точек линии.
  • Рисует линию на экране.
public: void DrawLinePoint( PaintEventArgs^ e ) < // Create pen. Pen^ blackPen = gcnew Pen( Color::Black,3.0f ); // Create points that define line. Point point1 = Point(100,100); Point point2 = Point(500,100); // Draw line to screen. e->Graphics->DrawLine( blackPen, point1, point2 ); > 
public void DrawLinePoint(PaintEventArgs e) < // Create pen. Pen blackPen = new Pen(Color.Black, 3); // Create points that define line. Point point1 = new Point(100, 100); Point point2 = new Point(500, 100); // Draw line to screen. e.Graphics.DrawLine(blackPen, point1, point2); >
Public Sub DrawLinePoint(ByVal e As PaintEventArgs) ' Create pen. Dim blackPen As New Pen(Color.Black, 3) ' Create points that define line. Dim point1 As New Point(100, 100) Dim point2 As New Point(500, 100) ' Draw line to screen. e.Graphics.DrawLine(blackPen, point1, point2) End Sub 

См. также раздел

Применяется к

DrawLine(Pen, Int32, Int32, Int32, Int32)

Проводит линию, соединяющую две точки, задаваемые парами координат.

public: void DrawLine(System::Drawing::Pen ^ pen, int x1, int y1, int x2, int y2);
public void DrawLine (System.Drawing.Pen pen, int x1, int y1, int x2, int y2);
member this.DrawLine : System.Drawing.Pen * int * int * int * int -> unit
Public Sub DrawLine (pen As Pen, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer)

Параметры

Структура Pen, определяющая цвет, ширину и стиль линии.

Координата X первой точки.

Координата Y первой точки.

Координата X второй точки.

Координата Y второй точки.

Исключения

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e , который является параметром обработчика Paint событий. Код выполняет следующие действия.

  • Создает черную ручку.
  • Создает координаты конечных точек линии.
  • Рисует линию на экране.
public: void DrawLineInt( PaintEventArgs^ e ) < // Create pen. Pen^ blackPen = gcnew Pen( Color::Black,3.0f ); // Create coordinates of points that define line. int x1 = 100; int y1 = 100; int x2 = 500; int y2 = 100; // Draw line to screen. e->Graphics->DrawLine( blackPen, x1, y1, x2, y2 ); > 
public void DrawLineInt(PaintEventArgs e) < // Create pen. Pen blackPen = new Pen(Color.Black, 3); // Create coordinates of points that define line. int x1 = 100; int y1 = 100; int x2 = 500; int y2 = 100; // Draw line to screen. e.Graphics.DrawLine(blackPen, x1, y1, x2, y2); >
Public Sub DrawLineInt(ByVal e As PaintEventArgs) ' Create pen. Dim blackPen As New Pen(Color.Black, 3) ' Create coordinates of points that define line. Dim x1 As Integer = 100 Dim y1 As Integer = 100 Dim x2 As Integer = 500 Dim y2 As Integer = 100 ' Draw line to screen. e.Graphics.DrawLine(blackPen, x1, y1, x2, y2) End Sub 

Комментарии

Этот метод рисует линию, соединяющую две точки, заданные параметрами x1 , y1 , x2 и y2 .

См. также раздел

Применяется к

DrawLine(Pen, Single, Single, Single, Single)

Проводит линию, соединяющую две точки, задаваемые парами координат.

public: void DrawLine(System::Drawing::Pen ^ pen, float x1, float y1, float x2, float y2);
public void DrawLine (System.Drawing.Pen pen, float x1, float y1, float x2, float y2);
member this.DrawLine : System.Drawing.Pen * single * single * single * single -> unit
Public Sub DrawLine (pen As Pen, x1 As Single, y1 As Single, x2 As Single, y2 As Single)

Параметры

Структура Pen, определяющая цвет, ширину и стиль линии.

Координата X первой точки.

Координата Y первой точки.

Координата X второй точки.

Координата Y второй точки.

Исключения

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e , который является параметром обработчика Paint событий. Код выполняет следующие действия.

  • Создает черную ручку.
  • Создает координаты конечных точек линии.
  • Рисует линию на экране.
public: void DrawLineFloat( PaintEventArgs^ e ) < // Create pen. Pen^ blackPen = gcnew Pen( Color::Black,3.0f ); // Create coordinates of points that define line. float x1 = 100.0F; float y1 = 100.0F; float x2 = 500.0F; float y2 = 100.0F; // Draw line to screen. e->Graphics->DrawLine( blackPen, x1, y1, x2, y2 ); > 
public void DrawLineFloat(PaintEventArgs e) < // Create pen. Pen blackPen = new Pen(Color.Black, 3); // Create coordinates of points that define line. float x1 = 100.0F; float y1 = 100.0F; float x2 = 500.0F; float y2 = 100.0F; // Draw line to screen. e.Graphics.DrawLine(blackPen, x1, y1, x2, y2); >
Public Sub DrawLineFloat(ByVal e As PaintEventArgs) ' Create pen. Dim blackPen As New Pen(Color.Black, 3) ' Create coordinates of points that define line. Dim x1 As Single = 100.0F Dim y1 As Single = 100.0F Dim x2 As Single = 500.0F Dim y2 As Single = 100.0F ' Draw line to screen. e.Graphics.DrawLine(blackPen, x1, y1, x2, y2) End Sub 

Комментарии

Этот метод рисует линию, соединяющую две точки, заданные параметрами x1 , y1 , x2 и y2 .

См. также раздел

Источник

Читайте также:  Python install whl with pip
Оцените статью