如何使用程序刷新图片框.cs

本文关键字:cs 刷新 何使用 程序 | 更新日期: 2023-09-27 18:35:17

Program.cs code:

namespace _1
    {
     static class Program
    {
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    /// 
    public static Form2 form2;
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
        form2 = new Form2();
    }
}

表单 1 代码:

Program.form2.pictureBox1.Refresh();

错误:

Object reference not set to an instance of an object.

不知道为什么会出现错误,我已经问过谷歌,但没有帮助。感谢您的帮助。

如何使用程序刷新图片框.cs

Object reference not set to an instance of an object.

表示对象null或未分配。

运行时将鼠标悬停在变量上或使用断点,并检查mapmap.pictureBox1是否null

您需要确保在使用之前将map设置为某些内容,并且从给定的代码中,我无法给出错误的具体原因。

你在form2 = new Form2();之前打电话给Application.Run(new Form1());

您需要将form2 = new Form2();放在Application.Run(new Form1());之前

我假设您的刷新代码是从 Form1 的该实例调用的。

您得到的NullReferenceException通常在您尝试访问没有引用的对象时发生。一般来说,当对象null时。

在这种情况下,form2 null

Application.Run是一个阻止呼叫。调用此方法时,它会打开传入参数的窗体,并一直被阻止在那里,直到窗体关闭。所以

form2 = new Form2();

此行代码不执行,并且您得到一个空 form2。您可以通过简单地还原这样的行来简单地解决问题,

form2 = new Form2();
Application.Run(new Form1());