我的自动取款机是一个搜索框和 4 个列表 这些列表是禁止列表 禁止 有限 半有限
现在我想做的是,当我从搜索框中拖动一个项目时,将其写入一个文本文件,其旁边有一个数字,具体取决于它添加到的列表(完成)现在我需要知道如何写入某个行示例
文本文档是这样工作的
#Built using DevPro card editor. !new
#forbidden
1 0
#limit
1027 1
#semi limit
12376 2
我现在的工作方式是这样打印的
#Built using DevPro card editor.
!new
#forbidden
#limit
#semi limit
1 0
1027 1
12376 2
我希望它像第一个例子一样写,所以如果我将一个项目拖到禁止列表,它会在 #forbidden 下写它与其他 2 相同这是我目前用于我的拖放事件的代码
private void List_DragDrop(object sender, DragEventArgs e)
{
int cardid = Int32.Parse((string)e.Data.GetData(DataFormats.Text));
var list = (ListBox)sender;
int indexOfItemUnderMouseToDrop = list.IndexFromPoint(list.PointToClient(new Point(e.X, e.Y)));
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
if (!BannedList.Items.Contains(e.Data.GetData(DataFormats.Text)) && !LimitedList.Items.Contains(e.Data.GetData(DataFormats.Text))
&& !SemiLimitedList.Items.Contains(e.Data.GetData(DataFormats.Text)))
{
if (indexOfItemUnderMouseToDrop >= 0 && indexOfItemUnderMouseToDrop < list.Items.Count)
{
list.Items.Insert(indexOfItemUnderMouseToDrop, e.Data.GetData(DataFormats.Text));
}
else
{
list.Items.Add(e.Data.GetData(DataFormats.Text));
if (BannedList.Items.Contains(e.Data.GetData(DataFormats.Text)))
{
using (var writer = new StreamWriter("lflist.conf", true))
writer.WriteLine(Program.CardData[cardid].Id + " 0");
}
else if (LimitedList.Items.Contains(e.Data.GetData(DataFormats.Text)))
{
using (var writer = new StreamWriter("lflist.conf", true))
writer.WriteLine(Program.CardData[cardid].Id + " 1");
}
else if (SemiLimitedList.Items.Contains(e.Data.GetData(DataFormats.Text)))
{
using (var writer = new StreamWriter("lflist.conf", true))
writer.WriteLine(Program.CardData[cardid].Id + " 2");
}
}
}
else
{
if (BannedList.Items.Contains(e.Data.GetData(DataFormats.Text)))
MessageBox.Show(Program.CardData[cardid].Name + " is already contained in the Banned list.");
else if (LimitedList.Items.Contains(e.Data.GetData(DataFormats.Text)))
MessageBox.Show(Program.CardData[cardid].Name + " is already contained in the Limited list.");
else if (SemiLimitedList.Items.Contains(e.Data.GetData(DataFormats.Text)))
MessageBox.Show(Program.CardData[cardid].Name + " is already contained in the SemiLimited list.");
}
}
}
所以换句话说,问题是我如何让流编写器找到一行并写在它下面的行上