无法画一条简单的线

时间:2019-04-01 07:53:07

标签: c#

编辑:我说过画线,并且代码尝试画出我知道的矩形。当我可以驱动矩形时,可以更改它。那不是问题。

我不能画一条线。 我签出了文件,但我做不到。

https://docs.microsoft.com/en-us/dotnet/framework/winforms/advanced/how-to-create-graphics-objects-for-drawing

https://docs.microsoft.com/en-us/dotnet/framework/winforms/advanced/how-to-draw-a-line-on-a-windows-form

我想声明一个继承自Form的类,并在那里声明了一个构造函数,它将绘制矩形。然后,总的来说,我正在调用它,但是它不起作用。

namespace game
{
    public class Screen : Form
    {
        public Screen()
        {  
            Graphics g = CreateGraphics();
            var rectangle = new System.Drawing.Rectangle(100, 100, 200, 200);
            g.DrawRectangle(System.Drawing.Pens.Black, rectangle);
        }
    }
    class Program
    {
        static void Main()
        {    
            Application.Run(new Screen());
        }

    }
}

edit2: g = this.CreateGraphics();不起作用,

在此,

private void Form1_Paint(object sender,   
   System.Windows.Forms.PaintEventArgs pe)   
{  
   // Declares the Graphics object and sets it to the Graphics object  
   // supplied in the PaintEventArgs.  
   Graphics g = pe.Graphics;  
   // Insert code to paint the form here.  
}  

我不知道如何给参数命名

1 个答案:

答案 0 :(得分:1)

执行此操作的正确方法是:

[["name", "user"]]

Windows绘画模型是系统检测何时需要刷新屏幕并调用您进行绘制

原因是,在设计Windows时,计算机没有Windows所需的内存来存储每个Window的图像,因此该图像仅存在于显示缓冲区中-并且该图像仅包含屏幕上的实际内容(而不是屏幕上的内容)例如,其他窗口覆盖的区域)-因此,每当窗口移动并显示新区域时,应用程序都必须重新绘制该区域

如果您需要触发重绘,可以致电Invalidate