/// <summary> /// 选中某个Menu 参数传-1表示都不选中 /// </summary> /// <param name="index">-1 表示清空选中情况</param> public void SetSelect(int index) { if (index < 0) { menuTree.SetSelection(new List <int>() { }, TreeViewSelectionOptions.RevealAndFrame); curMenuTreeItem = null; if (isPopup) { MenuPopup.Close(); } } else { menuTree.SetSelection(new List <int>() { index }, TreeViewSelectionOptions.RevealAndFrame); var item = menuTree[index]; if (curMenuTreeItem != item) { curMenuTreeItem = item; OnMenuItemSelectChange(curMenuTreeItem); if (isPopup) { MenuPopup.Show(new Rect(150, 0, GetPopupWidth(), position.height), curMenuTreeItem); } } } }
private void OnSelectItemClick() { var item = menuTree.GetSelectItem(); if (item != null) { if (curMenuTreeItem != item) { if (curMenuTreeItem != null) { curMenuTreeItem.OnHide(); } curMenuTreeItem = item; curMenuTreeItem.OnShow(); OnMenuItemSelectChange(curMenuTreeItem); if (isPopup) { MenuPopup.Show(new Rect(150, -18, GetPopupWidth(), position.height), curMenuTreeItem); } } else { if (isPopup) { MenuPopup.Close(); SetSelect(-1); if (curMenuTreeItem != null) { curMenuTreeItem.OnHide(); } curMenuTreeItem = null; } } } }
private void PanelInner_MouseDown(object sender, MouseEventArgs e) { if (!(bNeedHScroll | bNeedVScroll)) { return; } if (e.Button == MouseButtons.Right) { MenuPopup.Show(this, new Point(e.X, e.Y)); } }