동적 메뉴로 세션리스트를 메뉴에 넣어 보겠습니다.
         
 
전체 소스
SESSION 을 동적 메뉴로 구성
다음과 같이 세션정보를 동적 메뉴에 추가할수 있습니다.
.Click 에 등록된 이벤트가 SessionMenuItem_Click인데 SessionMenuItem_Click에서 선택된 메뉴를 알수 있습니다.
                // 동적 메뉴 추가
                int iTemp = 0;
                foreach (clsWatSerialBase c in m_clsSession.ObjWatSerialBase)
                {
                    this.setupToolStripMenuItem[iTemp] =  new ToolStripMenuItem();
                    this.setupToolStripMenuItem[iTemp].Name = iTemp.ToString();
                    this.setupToolStripMenuItem[iTemp].Size = new System.Drawing.Size(152, 22);
                    this.setupToolStripMenuItem[iTemp].Text = c.Name;
                    this.setupToolStripMenuItem[iTemp].Click += new System.EventHandler(this.SessionMenuItem_Click);
                    this.파일ToolStripMenuItem.DropDownItems.Insert(5+iTemp, this.setupToolStripMenuItem[iTemp]);
                    iTemp++;
                }SessionMenuItem_Click 에서 선택된 메뉴로 OPEN 하는 코드입니다.
private void SessionMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                int iSelNum = Convert.ToInt32((((ToolStripMenuItem)sender).Name));
                
                CloseComm(sender, e);
                
                m_sp1 = new SerialPort();
                m_sp1.PortName = m_clsSession.ObjWatSerialBase[iSelNum].PortNum;
                m_sp1.BaudRate = Convert.ToInt32(m_clsSession.ObjWatSerialBase[iSelNum].Baud);
                ConnectComm(m_sp1, sender, e);
             
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }[연결끊기] 메뉴
[연결끊기] 메뉴는 연결이 되었을 때는 활성화되어야 하고, 연결이 끊겨 있을 때는 비활성화되어야 합니다.
활성화
this.연결끊기ToolStripMenuItem.Enabled = true;
비활성화
this.연결끊기ToolStripMenuItem.Enabled = false;
 
이번 장은 분량이 별로되지 않지만 어려운 내용이 많습니다.
동적 메뉴 할당하는 것과 메뉴를 이벤트에 연결하는 부분이 어렵습니다.
참고로 int iSelNum = Convert.ToInt32((((ToolStripMenuItem)sender).Name)); 한 줄 구현하는데 1시간 넘게 걸렸습니다 ㅡㅡ.
동적 메뉴에 대한 자료도 워낙 없었고, C#에서 캐스팅이 안되는줄 알고 있어서 고생좀 했습니다 ㅎㅎ
다음 장에는 도구바를 추가해서 몇가지 명령을 도구바로 해보겠습니다.

 
	
		 


 
    
 
    
 
     
 08_도구바 추가하기
									08_도구바 추가하기
									 06_ini 로 세션관리하기 - 추가,편집, 삭제 ...
									06_ini 로 세션관리하기 - 추가,편집, 삭제 ...
									