private async void fileList_KeyDown()

in sources/Google.Solutions.Mvvm/Controls/FileBrowser.cs [353:402]


        private async void fileList_KeyDown(object sender, KeyEventArgs args)
        {
            try
            {
                if (args.KeyCode == Keys.Enter &&
                    this.fileList.SelectedModelItem is var item &&
                    item != null &&
                    !item.Type.IsFile)
                {
                    //
                    // Go down one level, same as double-click.
                    //
                    fileList_DoubleClick(sender, EventArgs.Empty);
                    args.Handled = true;
                }
                else if (args.KeyCode == Keys.C && args.Control)
                {
                    //
                    // Copy files.
                    //
                    copyToolStripMenuItem_Click(sender, EventArgs.Empty);
                    args.Handled = true;
                }
                else if (args.KeyCode == Keys.V && args.Control)
                {
                    //
                    // Paste files.
                    //
                    pasteToolStripMenuItem_Click(sender, EventArgs.Empty);
                    args.Handled = true;
                }
                else if (args.KeyCode == Keys.Up && args.Alt)
                {
                    //
                    // Go up one level.
                    //
                    await NavigateUpAsync();
                    args.Handled = true;
                }
                else if (args.KeyCode == Keys.F5)
                {
                    await RefreshAsync();
                    args.Handled = true;
                }
            }
            catch (Exception e)
            {
                OnNavigationFailed(e);
            }
        }