【发布时间】:2021-12-27 18:04:30
【问题描述】:
我在 ListVeiw 上遇到问题我在属性设置中找不到任何关于保存 listveiw 的视频,我有很多方法可以保存细节但间接方法和弱方法
注意:我不想使用 (split = "|") 因为如果我放一些细节有 |它打破了一切alltext = SR.ReadToEnd().Split('|');
我使用 Visual Studio Windows 窗体 C#
这里是代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string[] alltext;
string text;
private void Form1_Load(object sender, EventArgs e)
{
StreamReader SR = new StreamReader("Text.txt");
alltext = SR.ReadToEnd().Split('|');
foreach (string s in alltext)
{
if (!string.IsNullOrWhiteSpace(s))
{
listView1.Items.Add(s);
}
}
SR.Close();
}
private void Set_Click(object sender, EventArgs e)
{
listView1.Items.Add(textBox1.Text);
// here save old details
StreamReader SR = new StreamReader("Text.txt");
text = SR.ReadToEnd();
SR.Close();
// Real Save details
StreamWriter SW = new StreamWriter("Text.txt");
SW.Write(text + textBox1.Text + "|");
SW.Close();
textBox1.Clear();
}
private void Remove_Click(object sender, EventArgs e)
{
if (MessageBox.Show("do you want to remove list" , "Test" , MessageBoxButtons.OKCancel , MessageBoxIcon.Question) == DialogResult.OK)
{
File.WriteAllText("Text.txt", "");
listView1.Items.Clear();
}
}
}
}
【问题讨论】:
-
这些计时器是怎么回事?不知道为什么你有它们。如何保存列表项取决于您。没有标准的方法。这一切都取决于您的需求。可以像使用换行符来分隔每个数据项一样简单。您无需阅读整个文件即可保存新项目。你可以只 Append 一个项目。
-
timer1 因为我可以看到 x++ 。 timer2 检查 x == list count 是否,如果是则停止 timer2
-
如果您不想使用管道,可以使用垂直制表符。最后,所有项目归结为
object,因此您需要一些自定义转换代码。 - 计时器的使用似乎既脆弱又奇怪..