为什么表单加载不调用初始化我的图形的代码



所以我回来了,我有另一个关于图形的问题。

我搜索了谷歌,也搜索了stackoverflow。我可能还不够彻底,但我想半个小时没有结果意味着是时候再问一个问题了。

在解决了DrawImage的图形问题之后,现在我又遇到了另一个与同一方法调用相关的问题。

我在这里有我的表单加载代码

private void frmMapEditor_Load(object sender, EventArgs e)
        {
            loadComponents();
            Program.debug.print("Load complete.");
        }

我在loadComponents 中有这个代码

private void loadComponents()
    {
        Rectangle srcRectTiles = new Rectangle(0, 0, 16 * 16, 20 * 16);
        GraphicsUnit units = GraphicsUnit.Pixel;
        screenTiles.DrawImage(gfxTiles, 0, 0, srcRectTiles, units);
    }

现在,我已经通过在Click()事件中调用Load()来确保图形正常工作,并且代码运行得很好。只是当我运行游戏并期望看到加载的东西时,什么都没发生。您在那里看到的调试代码在Load()运行后显示输出"Load complete."(以确保它确实被调用),但它似乎没有在loadComponents()中运行实际的代码。我甚至为该方法添加了调试代码,它们会相应地在控制台中打印输出。。。

任何见解都将是美妙的!如果需要,我可以提供更多的代码。也许有一种调试方法我不太了解。

尝试在窗体的Shown事件中调用loadComponents()方法。

最新更新