-1

xnaでwinformを使用しています。描画を除いて、これまでのところすべてが機能しています。これは私が持っていた最初のコードです:

        protected override void Draw()
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);
            spriteBatch.Begin();
            tileSheet.Draw(spriteBatch);
            foreach (Image img in selector)
                img.Draw(spriteBatch);
            spriteBatch.End();
        }

ブレークポイントを配置し、描画メソッドを呼び出していますが、画面上で何も変化していませんが、これを行うと:

protected override void Draw()
    {
        GraphicsDevice.Clear(Color.CornflowerBlue);
        spriteBatch.Begin();
        tileSheet.Draw(spriteBatch);
        foreach (Image img in selector)
            img.Draw(spriteBatch);
        spriteBatch.End();

        Invalidate();
    }

できます!しかし問題は、すべてがフリーズし、Invalidate ループに巻き込まれたように見えることです。しかし、なぜ後者は機能するのに前者は機能しないのでしょうか? 私はこれに何時間も取り組んできましたが、何が問題なのか理解できません:/。

単純なことのように感じますが、頭を包むことはできません。

Update と Refresh も試しましたが、どちらも機能しません。

4

1 に答える 1