C# .我什么也没画

C# .我什么也没画,c#,graphics,2d,C#,Graphics,2d,我很难弄清楚原因。FillRectangle不适合我 此外,由于没有任何例外,我想不出为什么会这样,所以我需要一些帮助:/ 受影响的代码部分如下所示 try { using (FileStream fileStream = File.OpenRead(filePath)) { using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8, true, 1024))

我很难弄清楚原因。FillRectangle不适合我

此外,由于没有任何例外,我想不出为什么会这样,所以我需要一些帮助:/

受影响的代码部分如下所示

try
{
    using (FileStream fileStream = File.OpenRead(filePath))
    {
        using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8, true, 1024))
        {
            String line;
            int mW = Convert.ToInt32(Math.Round(this.Size.Width / 2d));
            int mH = Convert.ToInt32(Math.Round(this.Size.Height / 2d));
            SolidBrush myBrush;
            myBrush = new SolidBrush(Color.Black);
            PointF A = new PointF(0f, 0f);
            Graphics g = this.CreateGraphics();
            g.TranslateTransform(mW, mH);
            while ((line = streamReader.ReadLine()) != null)
            {
                string[] points = line.Split(',');
                A = new PointF((float)(Convert.ToDecimal(points[0])), ((float)(Convert.ToDecimal(points[1]))));
                //A is defined correctly, as A.X and A.Y both have values
                g.FillRectangle(myBrush, A.X, A.Y, 1f, 1f);
            }
        }
    }
}
catch (Exception p)
{
    MessageBox.Show(p.Message);
}
任何帮助都将不胜感激,因为我对Grpahics的了解非常有限

提前感谢,

鲁宾:)

好的,这帮了大忙:D.谢谢

将评论作为答案发布,然后:


this.CreateGraphics
可能是罪魁祸首。这将绘制一个临时曲面,该曲面在窗体刷新时被擦除。在Paint()事件中使用
e.Graphics
,或者使用
Graphics.FromImage()
绘制位图并显示该位图。

是否满足此条件<代码>while((line=streamReader.ReadLine())!=null)