Exemplo n.º 1
0
        /// <summary>Set up UI elements</summary>
        private void SetupUI()
        {
            // Files grid
            m_grid.AllowDrop           = true;
            m_grid.AutoGenerateColumns = false;
            m_grid.Columns.Add(new DataGridViewTextBoxColumn {
                HeaderText = "File Path", DataPropertyName = nameof(FileInfo.FullName)
            });
            m_grid.DataSource = FileInfos;
            m_grid.MouseDown += DataGridView_.DragDrop_DragRow;

            // Add files
            m_btn_add_files.ToolTip(m_tt, "Browse for files to add");
            m_btn_add_files.Click += (s, a) =>
            {
                var dlg = new OpenFileDialog {
                    Filter = Constants.LogFileFilter, Multiselect = true
                };
                if (dlg.ShowDialog(this) != DialogResult.OK)
                {
                    return;
                }
                FileInfos.AddRange(dlg.FileNames.Select(x => new FileInfo(x)));
            };

            // Disable OK till there are files
            m_btn_ok.Enabled = false;
        }
Exemplo n.º 2
0
        /// <summary>Drop file paths into the grid</summary>
        private bool DropFiles(object sender, DragEventArgs args, DragDrop.EDrop mode)
        {
            args.Effect = DragDropEffects.None;
            if (!args.Data.GetDataPresent(DataFormats.FileDrop))
            {
                return(false);
            }

            args.Effect = DragDropEffects.Copy;
            if (mode != Rylogic.Gui.WinForms.DragDrop.EDrop.Drop)
            {
                return(true);
            }

            var filepaths = (string[])args.Data.GetData(DataFormats.FileDrop);

            FileInfos.AddRange(filepaths.Select(x => new FileInfo(x)));
            return(true);
        }