我如何正确地从另一种形式中获取 1 个空隙,以不同的形式使用

本文关键字:正确地 另一种 获取 | 更新日期: 2023-09-27 18:30:37

我再次需要你的帮助。随便谁..我已经设法让下面的代码"工作"。那里不起作用的部分是"这个"。我不知道在静态中使用什么以及它是如何工作的。我对此也很陌生,所以我可能需要一些傻瓜的解释。

无论如何。下面的代码应该是我的"主窗体",其中加载了所有内容,例如图标,大小,设置,菜单等等。

目前,我正在尝试添加全局"设置"。 可以从所有表单加载。因此,每个插入的形式都将this.ClientSize = new System.Drawing.Size(1440, 900);,我可能添加的任何其他内容都会对表单产生相同的影响。比如图标,不透明,什么都不是。

总体而言,它只是一个存储设置的地方,可以从任何其他形式访问。

我在下面写的,是我到目前为止所管理的。设置程序启动在我的设置窗体中被识别,但它不会更改客户端大小或图标。这可能是因为"这个",因为它显示了红线。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
    namespace lala.events
    {
        public partial class TrayMenu : Form
        {
            public TrayMenu()
            {
                InitializeComponent();
                SettingsOnProgramStart();
            }
        }
        public static void SettingsOnProgramStart()
        {
            //
            // Load global settings.
            //
            this.Icon = new Icon("images/skin/global/icon.ico");
            this.ClientSize = new System.Drawing.Size(1440, 900);
        }
    }
}

设置文件 :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace lala.events
{
    public partial class Settings : Form
    {
        public Settings()
        {
            InitializeComponent();
            TrayMenu.SettingsOnProgramStart();
        }
    }
}

感谢您的时间,对于可能导致的任何问题,我们深表歉意:/

如果有人能给我一个有用的"傻瓜配置"链接,我会很高兴,在那里我会学习如何在我的项目中使用 cfg、ini。 所以我可以从文件中加载设置。

我如何正确地从另一种形式中获取 1 个空隙,以不同的形式使用

您需要传递需要设置其设置的表单:

public static void SettingsOnProgramStart(Form formToSet)
{
   //
   // Load global settings.
   //
   formToSet.Icon = new Icon("images/skin/global/icon.ico");
   formToSet.ClientSize = new System.Drawing.Size(1440, 900);
}

用作:

//When called from another form
TrayForm.SettingsOnProgramStart(this);

有关设置,请参阅 MSDN 应用程序设置:http://msdn.microsoft.com/en-us/library/k4s6c3a0(v=vs.110).aspx

顺便说一句;这段代码作为TrayForm类的一部分并没有真正的意义,因为它与该对象完全无关。它应该是GlobalSettingsManager类的成员,或类似的东西。