【发布时间】:2014-12-21 15:07:26
【问题描述】:
我有一个动态创建的按钮数组,假设有 8 个按钮,我想要的是当我单击一个特定按钮时,它的背景图片会发生变化,并且按钮的名称存储在一个链接列表中。当我再次单击同一个按钮时,背景图片会恢复到原来的状态,并且按钮名称将从链接列表中删除。现在我可以做第一部分了,第二次点击没有按我想要的那样工作。
基本上它是一个数据结构项目(购物商店),因此我使用链表,我有一个链表,其内容通过图片框 [] 和标签显示。在这里我要做的是当我单击图片框时,该特定节点的内容将添加到新的链接列表(添加到购物车)中,当我再次单击图片框时,该特定项目将从链接中删除列表(从购物车中删除)。第一次点击它正在做我想要它做的事情,但第二次点击并没有真正起作用。
这是一个数据结构项目,因此我不能真正为链表使用任何内置类,我必须自己编写所有方法,我做到了,而且它们可以工作。
cb[i].Click += (sender, e)=>{
if (flag == 0) {
// Console.WriteLine(obj.Retrieve(index).NodeContent);
// Console.WriteLine(obj.Retrieve(index).number);
inv.Add(obj.Retrieve(index).NodeContent, obj.Retrieve(index).number);
bill += Convert.ToInt32(obj.Retrieve(index).number);
cb[index].Image = Image.FromFile(@"F:\uni work\3rd semester\project images\rcart.jpg");
flag++;
}
else if (flag == 1)
{
// Console.WriteLine(bill);
bill -= Convert.ToInt32(obj.Retrieve(index).number);
// Console.WriteLine(bill);
inv.Delete(index);
cb[index].Image = Image.FromFile(@"F:\uni work\3rd semester\project images\cart.png");
flag--;
}
【问题讨论】:
-
向我们展示您的代码并解释 a) 问题出在哪里以及 b) 为什么您使用链表而不是 List
-
您遇到了什么问题?删除图片或从 LinkedList 中删除项目?
-
请您澄清一下这是否是 WinForms、ASP.NET Web 表单等。详细说明您的问题是什么(正在做什么或没有做什么)以及到目前为止您尝试过的问题。如果可能,请包含代码示例,请考虑在dotnetfiddle.net 提供最小可重复示例
-
@TaW 我正在使用按钮数组,链表存储要赋予按钮的名称
-
@MarkHall 我在从链接列表中删除项目时遇到问题
标签: c# winforms button buttonclick