窗体不会绘制完整的区域

时间:2018-02-07 13:54:22

标签: c# winforms

我正在制作纸牌游戏,我正在尝试使用绘画事件处理程序将卡片绘制到表单上。我注意到如果我用相同的代码覆盖OnPaint,虽然在激活表单时会立即绘制卡片,但是卡片被正确绘制。但是,当我将相同的代码放入绘制事件处理程序时,该卡只会在表单上绘制一半。此外,如果我'隐藏()'表单,然后'显示()'和'激活()'它从它的父表单,当表单再次出现时,卡正确显示:

    private void PaintCard(object sender, PaintEventArgs e)
    {
        if (BegunPlay)
        {
            Region Card = new Region(Animation.CardShape(new Point(550, 300)));
            e.Graphics.FillRegion(Brushes.FloralWhite, Card);
        }
    }

那是无法完全绘制卡片的paint事件处理程序: 图片: half card

以下是按下“后退”按钮后表单的外观,该按钮使用“隐藏()”隐藏表单,并按下父表单上的按钮以“显示()”和“激活()”此表单: 图片: full card

我环顾网络,但我似乎找不到有同样问题的人。有人可以建议尝试一下吗?

0 个答案:

没有答案