所以我在c#,listview1
和listview2
的窗口表单应用程序中有2个列表视图。 listview1
是从数据表中填充的,listview2
是完全空的,没有链接到任何内容。
当我双击listview1中的某个项目时,它会被复制到listview2
。
我想为添加该项添加限制。例如,我的listview1
包含扑克牌,看起来像......
listview1 listview2
itemname itemname
Ace
King
Queen
Jack
规则是4
中listview1
的每个条目最多只能listview2
个King
。因此,如果我想要Queen
和listview2
,那么4
应该最多接受3
每个{(1}}(但不是一次全部 - 一个接一个也许你想要{{1} } King
和4
卡Queen
的卡片,在这种意义上,最大限制应为4
。
例如......
listview1 listView2
item name item name
Ace King
King King
Queen King
Jack Queen
Queen
Queen
Queen
有人可以帮我这个吗?我适用什么条件?如何检查listview1
中4
所选项目是否已listview2
次出现?我如何将它们限制在一定数量?
谢谢! 仍然需要帮助解决这个问题!
附录
我创建了一个简单的测试项目,这里是它的代码
namespace Listviewtest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void listView1_ItemActivate(object sender, EventArgs e)
{
copyCard(listView1, listView2);
}
private static void copyCard(ListView listView1, ListView listView2)
{
/* condition here to check if the selected item in listview1 is already present in listview2 and checking the count if its at 4 or not - I don't know the syntax for comparing */
if()
{
foreach (ListViewItem item in listView1.SelectedItems)
{
listView2.Items.Add((ListViewItem)item.Clone());
}
}
else
{
MessageBox.Show("You already have 4 of that card.");
}
}
private void listView2_ItemActivate(object sender, EventArgs e)
{
listView2.SelectedItems[0].Remove();
}
}
}
答案 0 :(得分:0)
将条件添加到onclick
,如下所示:
if(listview2.Items.Length!=limit)
{
listview2.Items.Add(copyedItem);
}
else
{
Console.WriteLine("Limit achieved!");
}
小心!它是伪代码!