Ensure that you do not have code in your Load that resets the values of the CheckedListBox. When you perform a selected index event, you are doing a post back. In your load code make sure you check for postbacks. If it is a postback dont do code that would initialize the page. Use the Page.IsPostBack property to check for it in your load code.