예제 #1
0
        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();
        }
예제 #2
0
 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);
 }