public void Clear()
 {
     m_top_index = -1;
     m_top_item = null;
     m_selected_items = new ListItem[0];
     m_selected_item = null;
     m_selected_index = -1;
 }
 private void SaveState()
 {
     m_top_index = m_list_box.TopIndex;
     if ((m_top_index != -1) && (m_top_index < m_list_box.Items.Count))
         m_top_item = m_list_box.Items[m_list_box.TopIndex] as ListItem;
     m_selected_items = m_list_box.SelectedItems.Cast<ListItem>().ToArray();
     m_selected_item = m_list_box.SelectedItem as ListItem;
     m_selected_index = m_list_box.SelectedIndex;
 }