DEV下的下來控件不能及時更新

之前做DEV界面的時候,用到一個下拉按鈕-dropDownButton,它的屬性DropDownControl設置了一個PopupMenu。

當我動態的更新PopupMenu的LinksPersistInfo裏面的值的時候,我發現代碼裏調適,PopupMenu的子級是最新狀態,但是界面上dropDownButton下拉還是原始界面初始的子級。我想了各種辦法,this.dropDownButton1.Refresh();重新給屬性DropDownControl賦值等等,都沒有用。

後來想到DEV的一個公用管理barManager控件。於是我在動態更新PopupMenu的LinksPersistInfo的明細的時候,在外層包裹如下代碼:

           this.PopupMenu.LinksPersistInfo.Clear();          
            this.barManager.BeginInit();
            try
            {
                foreach (DataRow _Dr in this.m_Dt.Rows)
                {
                    DevExpress.XtraBars.BarButtonItem _ToolStripMenuItem = new DevExpress.XtraBars.BarButtonItem();
                    _ToolStripMenuItem.Tag = _Dt[0].ToString();
                    _ToolStripMenuItem.Caption = _Dt[1].ToString();
                    _ToolStripMenuItem.Name = _Dt[2].ToString();
                    _ToolStripMenuItem.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(事件);
                    this.PopupMenu.LinksPersistInfo.Add(new DevExpress.XtraBars.LinkPersistInfo(_ToolStripMenuItem));
                }
            }
            finally
            {
                this.barManager.EndInit();
            }

實際就是告訴barManager我要開始繪製,然後完成動態改變之後在告訴它我繪製完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章