gpt4 book ai didi

c# - 即使机器重新启动,如何永久保存动态按钮

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:24 27 4
gpt4 key购买 nike

我在 visual studio C# 中制作了一个带有文本框和保存按钮的表单,在文本框中输入文本并单击保存在垂直布局面板中的另一个表单上创建了一个动态按钮,但是当我重新运行我的应用程序时文本框中的新文本,或重新启动我的应用程序然后前一个按钮丢失,所以告诉我一些逻辑或代码,我如何才能在 flowlayout 面板中永久保存该动态按钮,并且当新文本被保存时,它会在以前的按钮下方创建另一个按钮创建了一个等等。

最佳答案

为了保存在运行时完成的事情,您要么必须使用文件,要么使用 Application Settings .关于应用程序设置的一个很好的引用可以在这里找到 MSDN .

您可以创建类似 ButtonsList 类型的设置(你必须为其编写一个类)来存储创建的按钮。我说ButtonsList考虑到您想保存每个按钮的更多属性。如果除了标题不需要保存任何其他内容,您可以将该属性设置为字符串数组。

还有一件很重要的事情,就是在Save之后按钮被点击,你必须调用

Properties.Settings.Default.Save();

在您的应用程序未启动时保留保存的数据。

步骤:

  1. 在 Visual Studio 中,单击 PROJECT菜单项。
  2. 点击 <project-name> Properties项目。
  3. 在打开的窗口中,转到 Settings在左侧 Pane 中。
  4. 点击 Setting在窗口中间的表格中,输入您要创建的设置的名称(例如 dynamicButtons)。
  5. 点击 string下拉,然后选择 System.Colletions.Specialized.StringCollection .
  6. 转到您的程序并在 Save 中点击事件类型:

    Properties.Settings.Default.dynamicButtons.Add("button1_caption"); Properties.Settings.Default.Save();

下面是简单收集 ButtonInfo 的代码我们叫 ButtonsCollection :

class ButtonInfo
{
public string Caption { get; set; }
public Point Location { get; set; }
public Size ButtonSize { get; set; }
public ButtonInfo(string caption, Point location, Size size )
{
this.Caption = caption;
this.Location = location;
this.ButtonSize = size;
}
}

class ButtonsCollection : System.Collections.CollectionBase
{
public void Add(ButtonInfo bi)
{
List.Add(bi);
}

public void Remove(int index)
{
if (index > Count - 1 || index < 0)
{
System.Windows.Forms.MessageBox.Show("Index not valid!");
}
else
{
List.RemoveAt(index);
}
}

public ButtonInfo Item(int index)
{
return (ButtonInfo)List[index];
}
}

由于 Visual Studio 中设置的可视化设计器不允许您使用自定义类型设置,因此您将不得不进行一些手动操作。您会找到有关创建这些自定义设置的更多信息 here, on MSDN.

希望我的努力没有白费:)

关于c# - 即使机器重新启动,如何永久保存动态按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21627148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com