public ResourceController() { ResourceEditorView = new ResourceEditorView(); StoreController = new ResourceStoreController(() => ResourceEditorView.ResourceControlBar.FilterEntry.Text); ResourceEditorView.ResourceControlBar.FilterEntry.Changed += (_, e) => StoreController.Refilter(); ResourceEditorView.ResourceList.OnResourceAdded += (_, e) => { ResourceEditorView.ResourceControlBar.FilterEntry.Text = ""; StoreController.Refilter(); }; ResourceEditorView.ResourceList.RightClicked += (sender, e) => { var selectedRows = ResourceEditorView.ResourceList.GetSelectedResource().GetSelectedRows(); if (selectedRows.Length > 0) { var contextMenu = new CellContextMenu(this, StoreController, selectedRows); contextMenu.Popup(); } else { var contextMenu = new NoCellContextMenu(this); contextMenu.Popup(); } }; ResourceEditorView.ResourceList.Model = StoreController.Model; AttachListeners(); }
private void HexInfoList_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) { if (e.Button != MouseButtons.Right) { return; } if (e.RowIndex < 0) { return; } if (e.ColumnIndex != 1) { return; } //若行已是选中状态就不再进行设置 if (HexInfoList.Rows[e.RowIndex].Selected == false) { HexInfoList.ClearSelection(); HexInfoList.Rows[e.RowIndex].Selected = true; } //只选中一行时设置活动单元格 if (HexInfoList.SelectedRows.Count == 1) { HexInfoList.CurrentCell = HexInfoList.Rows[e.RowIndex].Cells[e.ColumnIndex]; } //弹出操作菜单 CellContextMenu.Show(MousePosition.X, MousePosition.Y); }