未保存列表类型的设置

时间:2021-04-21 17:13:50

标签: c# winforms

我正在尝试制作一个 winforms 应用程序,您可以在其中通过输入描述、名称和图像来了解您的项目。我存储了这三个不同的字符串和图像列表,然后我尝试保存它,但它不起作用。

private void save_Click(object sender, EventArgs e)
    {
        Properties.Settings.Default.Name = new textList();
        Properties.Settings.Default.Description = new textList();
        Properties.Settings.Default.Image = new imageList();

        foreach (var item in names)
        {
            Properties.Settings.Default.Name.Add(item.Text);
        }
        foreach (var item in description)
        {
            Properties.Settings.Default.Description.Add(item.Text);
        }
        foreach (var item in pictureBox)
        {
            Properties.Settings.Default.Image.Add(item.BackgroundImage);
        }
        Properties.Settings.Default.Save();
    }

private void Oversigt_Load(object sender, EventArgs e)
    {
        Properties.Settings.Default.Reload();

        Properties.Settings.Default.Name = new textList();
        Properties.Settings.Default.Description = new textList();
        Properties.Settings.Default.Image = new imageList();
        foreach (var item in Properties.Settings.Default.Image)
        {
            var pic = new PictureBox();
            pic.Size = new Size(192, 108);
            pic.BackgroundImageLayout = ImageLayout.Zoom;
            pic.BackgroundImage = item;
            pic.Location = new Point(47, 209);
            Controls.Add(pic);
            pictureBox.Add(pic);
        }

        foreach(var item in Properties.Settings.Default.Name)
        {
            var name = new Label();
            name.AutoSize = true;
            name.Text = item;
            name.Font = new Font("Microsoft Sans Serif", 17);
            name.ForeColor = Color.White;
            Controls.Add(name);
            names.Add(name);
        }
        foreach(var item in Properties.Settings.Default.Description)
        {
            var desc = new Label();
            desc.AutoSize = false;
            desc.Size = new Size(192, 63);
            desc.Text = item;
            desc.Font = new Font("Microsoft Sans Serif", 10);
            desc.ForeColor = Color.White;
            Controls.Add(desc);
            description.Add(desc);
        }
        arrangeProject();
    }

class textList : List<string>
{
}

class imageList : List<Image>
{
}

我尝试设置一个普通字符串,效果很好! 我也尝试在 save_Click 之后放置一个断点,但我在那里什么也看不到。不确定我是否做对了。我知道有应用程序的版本,但默认情况下设置为 1.0.0.0:

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

所以我不知道从哪里开始

0 个答案:

没有答案