The reason is more than likely its not in a form tag. Paste this code. private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here Table t = new Table(); TableRow row = new TableRow(); TableCell cell = new TableCell(); ListBox lst = new ListBox(); lst.Style.Add("background-color", "InfoBackground"); lst.Style.Add("color", "InfoText"); lst.ID = "PickerBox"; lst.AutoPostBack = true; lst.Attributes.Add("height", "200px"); lst.SelectedIndexChanged += new System.EventHandler(HavePicked); lst.Items.Add(new ListItem("A")); lst.Items.Add(new ListItem("B")); System.Web.UI.HtmlControls.HtmlForm f = (System.Web.UI.HtmlControls.HtmlForm)FindControl( "Form1" ); cell.Controls.Add( lst ); row.Cells.Add( cell ); t.Rows.Add( row ); f.Controls.Add( t ); } private void HavePicked( object sender, System.EventArgs e ) { int i=0; } Also if you dont have any items in the list box the event wont fire because you cant change the index. Maybe this hepls. Nick 1 line of code equals many bugs. So don't write any!!