通过枚举绑定ToolStripDropDownButton的按钮事件

2015-12-15 09:26:46  访问(2933) 赞(0) 踩(0)


        /// <summary>
        /// 通过枚举绑定的按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void EnumEmTrackReportType_Click(object sender, EventArgs e)
        {
            try
            {
                ToolStripMenuItem ts = sender as ToolStripMenuItem;

                if (ts == null)
                {
                    MessageBox.Show("没有获得ToolStripMenuItem控件");
                    return;
                }

                EnumEmTrackReportTypeClick
                    (
                        (eKing.GpsApp.Enums.TrackReportType.EmTrackReportType)ts.Tag
                    );

            }
            catch (Exception err)
            {
                MsgForm.MsgException(err);
            }

        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="em"></param>
        protected void EnumEmTrackReportTypeClick
            (
                eKing.GpsApp.Enums.TrackReportType.EmTrackReportType em
            )
        {
            if (em == EmTrackReportTypeCur)
                return;

            ToolStripDropDownButton tdb
                =
                toolStripButton_停靠报表;

            tdb.Text = em.ToString();

            int iCount = tdb.DropDownItems.Count;
            object oTag = null;
            eKing.GpsApp.Enums.TrackReportType.EmTrackReportType
                emItem 
                = 
                eKing.GpsApp.Enums.TrackReportType.EmTrackReportType.停靠报表;

            ToolStripMenuItem ts = null;
            for (int i = 0; i < iCount; ++i)
            {
                ts = tdb.DropDownItems[i] as ToolStripMenuItem;

                if (ts == null)
                    continue;

                oTag = tdb.DropDownItems[i].Tag;

                emItem = eKing.GpsApp.Enums.TrackReportType.GetEmByObj(oTag);

                if (emItem == EmTrackReportTypeCur)
                {
                    ts.Checked = false;
                    continue;
                }

                if (emItem == em)
                {
                    ts.Checked = true;
                    continue;
                }
            }

            EmTrackReportTypeCur = em;
        }


        /// <summary>
        /// 
        /// </summary>
        protected void ToolStripDataBindEnum()
        {
            ToolStripDropDownButton tdb 
                = 
                toolStripButton_停靠报表;

            tdb.DropDownItems.Clear();

            eKing.GpsApp.Enums.TrackReportType.EmTrackReportType[]
                emA
                =
                eKing.GpsApp.Enums.TrackReportType.EmArray;

            ToolStripMenuItem ts = null;
            EventHandler eh = new EventHandler(EnumEmTrackReportType_Click);

            foreach (eKing.GpsApp.Enums.TrackReportType.EmTrackReportType em
                in emA)
            {
                ts = new ToolStripMenuItem();
                ts.Text = em.ToString();
                ts.Tag = em;

                if (EmTrackReportTypeCur == em)
                {
                    ts.Checked = true;
                }

                ts.Click += eh;

                tdb.DropDownItems.Add(ts);
            }
        }


标签:通过枚举绑定ToolStripDropDownButton的按钮事件 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)