Heim Backend-Entwicklung C#.Net-Tutorial Selbststudium C#08 von 0 an – Kurvendiagrammsteuerung zeichnen

Selbststudium C#08 von 0 an – Kurvendiagrammsteuerung zeichnen

Feb 04, 2017 am 10:49 AM

Diagrammsteuerelement verwenden

In diesem Artikel wird erläutert, wie Sie das Diagrammsteuerelement in der Toolbox zum Zeichnen mehrerer Kurven verwenden. Das Rendering ist wie folgt:

Selbststudium C#08 von 0 an – Kurvendiagrammsteuerung zeichnen

1.InitializeChart

Fügen Sie das Diagrammsteuerelement zum Formular hinzu und löschen Sie dann die ChartAreas-, Legends- und Series-Sammlungen im Eigenschaften werden durch den folgenden Code dynamisch implementiert. Implementieren Sie im Formularkonstruktor die Methoden InitializeChart und DrawSeries.

Der InitializeChart-Code lautet wie folgt.

public partial class MainFormBERT : Form
    {
        public MainFormBERT()
        {
            InitializeComponent();
            InitializeChart();
            DrawSeries();
        }

         public void InitializeChart()
        {            #region 设置图表的属性
            //图表的背景色
            chart1.BackColor = Color.FromArgb(211, 223, 240);
            //图表背景色的渐变方式
            chart1.BackGradientStyle = GradientStyle.None;
            //图表的边框颜色、
            chart1.BorderlineColor = Color.FromArgb(26, 59, 105);
            //图表的边框线条样式
            chart1.BorderlineDashStyle = ChartDashStyle.Solid;
            //图表边框线条的宽度
            chart1.BorderlineWidth = 2;
            //图表边框的皮肤
            chart1.BorderSkin.SkinStyle = BorderSkinStyle.None;
            #endregion

            #region 设置图表的Title
            Title title = new Title();
            //标题内容
            title.Text = "BER";
            //标题的字体
            title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12, FontStyle.Regular);
            //标题字体颜色
            //title.ForeColor = Color.FromArgb(26, 59, 105);
            //标题阴影颜色
            //title.ShadowColor = Color.FromArgb(32, 0, 0, 0);
            //标题阴影偏移量
            //title.ShadowOffset = 3;

            chart1.Titles.Add(title);
            #endregion

            #region 设置图表区属性
            //图表区的名字
            ChartArea chartArea = new ChartArea("Default");
            //背景色
            chartArea.BackColor = Color.White;// Color.FromArgb(64, 165, 191, 228);
            //背景渐变方式
            chartArea.BackGradientStyle = GradientStyle.None;
            //渐变和阴影的辅助背景色
            chartArea.BackSecondaryColor = Color.White;
            //边框颜色
            chartArea.BorderColor = Color.Blue;
            //边框线条宽度
            chartArea.BorderWidth = 2;
            //边框线条样式
            chartArea.BorderDashStyle = ChartDashStyle.Solid;
            //阴影颜色
            //chartArea.ShadowColor = Color.Transparent;

            //设置X轴和Y轴线条的颜色和宽度
            chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
            chartArea.AxisX.LineWidth = 1;
            chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
            chartArea.AxisY.LineWidth = 1;

            //设置X轴和Y轴的标题
            //chartArea.AxisX.Title = "time";
            //chartArea.AxisY.Title = "count";
            //chartArea.AxisX.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular);
            //chartArea.AxisY.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular);

            //设置图表区网格横纵线条的颜色和宽度
            chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
            chartArea.AxisX.MajorGrid.LineWidth = 1;
            chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
            chartArea.AxisY.MajorGrid.LineWidth = 1;          

            chart1.ChartAreas.Add(chartArea);
            #endregion

            #region 图例及图例的位置
            Legend legend = new Legend();
            legend.Alignment = StringAlignment.Center;
            legend.Docking = Docking.Bottom;
            legend.BackColor = Color.Transparent;

            this.chart1.Legends.Add(legend);
            #endregion
        }
  }
Nach dem Login kopieren

2. Legen Sie den Kurvenstil fest

Typ, Farbe und Breite usw.

private Series SetSeriesStyle(int i)
        {
            Series series = new Series(string.Format("Ch{0}", i + 1));            //Series的类型
            series.ChartType = SeriesChartType.Line;            //Series的边框颜色
            series.BorderColor = Color.FromArgb(180, 26, 59, 105);            //线条宽度
            series.BorderWidth = 3;            //线条阴影颜色
            //series.ShadowColor = Color.Black;
            //阴影宽度
            //series.ShadowOffset = 2;
            //是否显示数据说明
            series.IsVisibleInLegend = true;            //线条上数据点上是否有数据显示
            series.IsValueShownAsLabel = false;            //线条上的数据点标志类型
            series.MarkerStyle = MarkerStyle.None;            //线条数据点的大小
            //series.MarkerSize = 8;
            //线条颜色
            switch (i)
            {                case 0:
                    series.Color = Color.FromArgb(220, 65, 140, 240);                    break;                case 1:
                    series.Color = Color.FromArgb(220, 224, 64, 10);                    break;                case 2:
                    series.Color = Color.FromArgb(220, 120, 150, 20);                    break;                case 3:
                    series.Color = Color.FromArgb(220, 12, 128, 232);                    break;
            }            return series;
        }
Nach dem Login kopieren

3. Zeichnen Sie die Kurve

Get Daten aus der Datentabelle, zeichnen Sie vier Kurven.

//绘制曲线
     private void DrawSeries()
        {
            dt = new TestDataTable();
            dt.CreateTable();            for (int i = 0; i < 4; i++)
            {
                Series series = this.SetSeriesStyle(i);
                DataRow[] foundRows;                string expression = "Ch = " + i;
                foundRows = dt.Select(expression);                foreach (DataRow row in foundRows)
                {
                    series.Points.AddXY(row[0], row[2]);
                }                this.chart1.Series.Add(series);
            }
        }
Nach dem Login kopieren

4. Kurven anzeigen oder ausblenden

Diese vier Kurven je nach Status des Kontrollkästchens anzeigen und ausblenden.

//显示隐藏曲线
     private void DisOrPlaySeries(int i)
        {            if (checkBox[i].Checked)
            {
                DataRow[] foundRows;                string expression = "Ch = " + i;
                foundRows = dt.Select(expression);                foreach (DataRow row in foundRows)
                {                    this.chart1.Series[i].Points.AddXY(row[0], row[2]);
                }
            }            else
            {                this.chart1.Series[i].Points.Clear();
            }
        }
Nach dem Login kopieren

Das Obige ist der Inhalt des Selbststudiums C#08 von 0-Drawing Curve Chart Control. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

Zugriffsmodifikatoren in C# Zugriffsmodifikatoren in C# Sep 03, 2024 pm 03:24 PM

Leitfaden zu den Zugriffsmodifikatoren in C#. Wir haben die Einführungstypen von Zugriffsmodifikatoren in C# zusammen mit Beispielen und Ausgaben besprochen.

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

C# StringReader C# StringReader Sep 03, 2024 pm 03:23 PM

Leitfaden für C# StringReader. Hier besprechen wir einen kurzen Überblick über C# StringReader und seine Funktionsweise zusammen mit verschiedenen Beispielen und Code.

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

C#-Serialisierung C#-Serialisierung Sep 03, 2024 pm 03:30 PM

Leitfaden zur C#-Serialisierung. Hier besprechen wir die Einführung, die Schritte des C#-Serialisierungsobjekts, die Funktionsweise bzw. das Beispiel.

C# StringWriter C# StringWriter Sep 03, 2024 pm 03:23 PM

Leitfaden für C# StringWriter. Hier besprechen wir einen kurzen Überblick über die C#-StringWriter-Klasse und ihre Funktionsweise zusammen mit verschiedenen Beispielen und Codes.

See all articles