Hello,
I'm a student, who has to make a c# application, i'm not going to describe it here, just the problem that i'm facing at the moment.
What I'm trying to do, is generate a list of buttons, where each button allows me to remove a specific element from an ArrayList. Problem is, with my current approach, it doesn't seem to work. Well, it works, but for some reason, i have to click a button twice in order for the program to work properly. I can't seem to find the problem... So I turn to you people, experienced programmers, in hopes someone can put me on the right trail :)
Here's my code:
[Code]
using System;
using
System.Collections;using
System.Configuration;using
System.Data;using
System.Linq;using
System.Web;using
System.Web.Security;using
System.Web.UI;using
System.Web.UI.HtmlControls;using
System.Web.UI.WebControls;using
System.Web.UI.WebControls.WebParts;namespace
programmerenproject{
public partial class WebForm1 : System.Web.UI.Page{
ArrayList list = new ArrayList(); protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack){
list.Add(
"test1");list.Add(
"test2");list.Add(
"test3");list.Add(
"test4");Session[
"list"] = list;}
if (Session["list"] != null){
list = (
ArrayList)Session["list"];generateButtons();
}
String temp = ""; for (int x = 0; x < list.Count; x++){
temp = temp + list[x].ToString();
}
lblTest.Text = temp;
Session[
"list"] = list;}
private void ClickMe(object sender, System.EventArgs e){
MyButton who = (MyButton)sender; this.list.RemoveAt(who.Element);}
public void generateButtons(){
ArrayList list = (ArrayList)Session["list"]; int number = list.Count; MyButton[] myButtons = new MyButton[number]; for (int i = 0; i < number; i++){
myButtons[i] =
new MyButton(i);myButtons[i].Text = list[i].ToString() + i.ToString();
myButtons[i].Click +=
new System.EventHandler(this.ClickMe);form1.Controls.Add(myButtons[i]);
}
}
}
}
[/Code]
[Code]
using
System;using
System.Data;using
System.Configuration;using
System.Linq;using
System.Web;using
System.Web.Security;using
System.Web.UI;using
System.Web.UI.HtmlControls;using
System.Web.UI.WebControls;using
System.Web.UI.WebControls.WebParts;using
System.Xml.Linq;using
System.Collections;namespace
programmerenproject{
public class MyButton:Button{
int element; public int Element{
get { return element; } set { element = value; }}
public MyButton(int e){
element = e;
}
}
}
[/Code]
Replies
Know the answer? Post it — somebody with the same question will find it here.