-1
有一個listView,它顯示名爲Name的列表的當前計數的標籤,並且當列表計數超過5時會引發一個事件,但是當我在文本框中輸入名稱時它進入列表)它顯示的數量,但列表視圖不能正確得到它們.EX-當我輸入第一個名稱標籤顯示計數爲1和列表視圖顯示我在文本框中輸入的名稱,當我輸入第二個NAME標籤正確顯示列表計數器,但列表視圖不僅添加了我輸入的第二個項目,而且還添加了我之前輸入的第一個項目。那麼在列表視圖中有三個項目。這裏是我的代碼List <>不能正常工作
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
List<string> emps = new List<string>();
private void button1_Click(object sender, EventArgs e)
{
listMake lm = new listMake();
lm.ListItemAdded += new listMake.listMethods(lm_ListItemAdded);
lm.adding(emps, textBox1,listView1);
label1.Text = emps.Count.ToString();
}
void lm_ListItemAdded(List<string> names)
{
MessageBox.Show("it enough i think its more than 5");
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
class listMake
{
public delegate void listMethods(List<string> names);
public event listMethods ListItemAdded;
public List<string> Name = new List<string>();
public void adding(List<string>Name,TextBox t1,ListView l1)
{
try
{
if (t1.Text != "")
{
Name.Add(t1.Text);
for (int i = 0; i < Name.Count; i++)
{
l1.Items.Add(Name[i]);
}
if (Name.Count > 5)
ListItemAdded(Name);
}
}
catch (Exception er) { MessageBox.Show(er.StackTrace); ;}
}
}
嘿謝謝Sudhakar它的工作,但我不明白爲什麼我們需要清除存儲在它之前的清單。因爲我們通過「名稱[i]」在列表中指定字符串。然後它指向特定的字符串。 – user3304413
@ user3304413:是的,但是你在循環中運行它,所以它不僅添加當前項目,而且還從開始添加項目 –
@ user3304413:例如,在文本框中輸入「a」,然後將「a」添加到列表中,然後將所有列表項(a)添加到列表視圖中,現在輸入'b',然後將'b'添加到'list'中,並將列表(a,b)中的所有項添加到列表視圖中。所以這裏的列表視圖已經包含了項目'a',並且''列表中還添加了'a'和'b'。 –