C# 行对象未显示在Windows窗体应用程序中

C# 行对象未显示在Windows窗体应用程序中,c#,.net,windows,winforms,C#,.net,Windows,Winforms,我需要使用C#在Windows窗体中创建一些形状对象,如圆、线等。 从.Net选项卡添加对PresentationFramework的引用,并使用System.Windows.Shapes。 但创建线对象后,它不会显示在Windows窗体中。 请参见以下示例代码: 表单加载事件中的代码: Line myline = new Line(); myline.X1 = 100; myline.X2 = 300; myline.Y1 = 300; myline.Y2 = 300; myline.Stro

我需要使用C#在Windows窗体中创建一些形状对象,如圆、线等。 从.Net选项卡添加对PresentationFramework的引用,并使用System.Windows.Shapes。 但创建线对象后,它不会显示在Windows窗体中。

请参见以下示例代码: 表单加载事件中的代码:

Line myline = new Line();
myline.X1 = 100;
myline.X2 = 300;
myline.Y1 = 300;
myline.Y2 = 300;
myline.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
myline.StrokeThickness = 2;

请让我知道我做错了。

您忘了更新绘图请求,您只是定义了线而没有实际绘制

编辑:

public void drawmyline()
        {
            System.Drawing.Graphics example;

            // Create pen.
            Pen blackPen = new Pen(Color.Black, 3);

            // Create points that define line.
            Point point1 = new Point(100, 100);
            Point point2 = new Point(400, 400);
            example = this.CreateGraphics();
            // Draw line to screen.
            example.DrawLine(blackPen, point1, point2);

            //e.Graphics.DrawLine(blackPen, point1, point2);
        }
然后,您可以在任何地方调用函数,例如单击按钮

private void button4_Click_1(object sender, EventArgs e)
        {
            drawmyline();
        }

如果它有助于您

您的标记显示Winforms,但您使用的是WPF-您实际使用的是哪个框架?添加了对WPF的引用,只是为了在Windows窗体中使用Shape类。我创建了Windows窗体应用程序而不是WPF应用程序。您是否希望能够在Winform上使用WPF而不使用
ElementHost
容器进行绘图?@user1291401不要忘记
使用System.Drawing