Home Full Site
ListBox 컨트롤

ListBox 컨트롤은 박스안에 선택가능한 옵션 리스트를 표시하는 컨트롤으로서 옵션이 많은 경우 스크롤을 사용할 수 있다. Items 프로퍼티안에 옵션 리스트를 넣게 되며, SelectedIndex를 지정하여 초기 선택값을 셋팅할 수 있다.


ListBox 컨트롤


ListBox 이벤트 핸들링

ListBox의 한 아이템이 선택되어졌을 때 SelectedIndexChanged 이벤트가 발생한다. 아래 예제는 멤버쉽 선택 메뉴에서 아이템이 선택 되었을 때 해당 아이템의 enum값을 필드에 저장하는 예이다.

예제

namespace MyWinForm
{
   public partial class Form1 : Form
   {
      // 멤버쉽 Enum 타입
      public enum MemberType
      {
         VIP = 0,
         Regular,
         Associate,
         DayPass        
      }

      public Form1()
      {
         InitializeComponent();
      }

      private void Form1_Load(object sender, EventArgs e)
      {
         listBox1.Items.Add("VIP 회원");
         listBox1.Items.Add("정회원");
         listBox1.Items.Add("준회원");
         listBox1.Items.Add("일일 회원");

         // 정회원이 기본 선택
         listBox1.SelectedIndex = 1;
      }

      private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
      {        
         memberType = (MemberType)listBox1.SelectedIndex;
      }

      private MemberType memberType;
   }
}

  • listBox1.SelectedIndex은 정수를 리턴하므로 이를 상응하는 enum값을 변경하기 위해 앞에 (MemberType)을 붙여 캐스팅을 하게 한다.
  • 캐스팅시 Zero-based SelectedIndex값과 enum값을 서로 맞도록 지정 해야 한다


© csharpstudy.com