gpt4 book ai didi

c# - 列表框项目保存数据

转载 作者:太空宇宙 更新时间:2023-11-03 14:47:49 26 4
gpt4 key购买 nike

Server 1 Server2 Server Config Screen我正在尝试制作视频游戏服务器管理器,但遇到了问题。我希望用户能够拥有任意数量的服务器。但是我无法通过谷歌搜索弄清楚,只是经常弄乱如何存储用户选择与他们在列表中创建的服务器相关联的信息。基本上,当您制作 Server1 时,它会获取您从配置屏幕上的框中选择的信息,并在服务器选择页面上使用它们。但是,当您创建 Server2 时,配置会覆盖 Server1 的配置。我知道我的代码甚至没有设置为能够执行此操作,但我希望能在正确的方向上插入我应该使用哪种类型的代码。

Tl:dr 我希望配置选项与服务器列表中的 ServerX 相关联,并且每个服务器都应该有唯一的设置。

public partial class Form1 : Form
{
//Variables
string srvName;
string mapSelect;
string difSelect;


public Form1()
{
InitializeComponent();
this.srvList.SelectedIndexChanged += new System.EventHandler(this.srvList_SelectedIndexChanged);
}

private void srvList_SelectedIndexChanged(object sender, EventArgs e)
{
if(srvList.SelectedIndex == -1)
{
dltButton.Visible = false;
}
else
{
dltButton.Visible = true;
}
//Text being displayed to the left of the server listbox
mapLabel1.Text = mapSelect;
difLabel1.Text = difSelect;

}
private void crtButton_Click(object sender, EventArgs e)
{
//Add srvName to srvList
srvName = namBox1.Text;
srvList.Items.Add(srvName);

//Selections
mapSelect = mapBox1.Text;
difSelect = difBox1.Text;

//Write to config file
string[] lines = { mapSelect, difSelect };
System.IO.File.WriteAllLines(@"C:\Users\mlynch\Desktop\Test\Test.txt", lines);

//Clear newPanel form
namBox1.Text = String.Empty;
mapBox1.SelectedIndex = -1;
difBox1.SelectedIndex = -1;

//Return to srvList
newPanel.Visible = false;
}
}

最佳答案

您在最近的评论中提到您曾尝试保存到一个 .txt 文件,但它会在您尝试制作另一个文件时覆盖它。如果您想继续您的 .txt 方法,您可以简单地设置一个全局整数变量并将其附加到您保存的每个文件。

//Variables
string srvName;
string mapSelect;
string difSelect;
int serverNumber = 0;

...

serverNumber++;
string filepath = Path.Combine(@"C:\Users\mlynch\Desktop\Test\Test", serverNumber.ToString(), ".txt");
System.IO.File.WriteAllLines(filepath, lines);

关于c# - 列表框项目保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53328535/

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