using RyzStudio.Windows.Forms; using System; using System.Diagnostics; using System.Drawing; using System.IO; using System.Windows.Forms; namespace RandomFileRunner { public partial class MainForm : Form { protected readonly Random randy; protected OptionsForm optionsForm = null; protected bool isBusy = false; protected Process currentProcess = null; public MainForm() { InitializeComponent(); textBox1.Text = "*.*"; memoBox1.InnerTextBox.WordWrap = false; randy = new Random(); } protected override void OnFormClosing(FormClosingEventArgs e) { if (this.IsBusy) { e.Cancel = true; return; } base.OnFormClosing(e); } public bool IsBusy { get => isBusy; set { isBusy = value; ThreadControl.SetValue(pictureBox1, (isBusy ? AppResource.loading_block : null)); //ThreadControl.SetEnable(textBox1, !isBusy); ThreadControl.SetEnable(button1, !isBusy); ThreadControl.SetEnable(button2, !isBusy); } } public AppSession CurrentSession { get; set; } = new AppSession(); protected void AddSearchItem(string line) { memoBox1.Text = memoBox1.Text.Trim(); // above line-break if (!string.IsNullOrWhiteSpace(memoBox1.Text)) memoBox1.Text += Environment.NewLine; memoBox1.Text += line + Environment.NewLine; } /// /// Search /// /// /// private void button2_MouseClick(object sender, MouseEventArgs e) { } /// /// Add directory /// /// /// private void addDirectoryToolStripMenuItem_Click(object sender, EventArgs e) { if (this.IsBusy) return; if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { AddSearchItem(folderBrowserDialog1.SelectedPath); } } /// /// Add file /// /// /// private void addFileToolStripMenuItem_Click(object sender, EventArgs e) { if (this.IsBusy) return; if (openFileDialog1.ShowDialog() == DialogResult.OK) { AddSearchItem(openFileDialog1.FileName); } } /// /// Clear /// /// /// private void button4_MouseClick(object sender, MouseEventArgs e) { if (this.IsBusy) return; memoBox1.Text = string.Empty; } private void memoBox1_DragOver(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { if (this.IsBusy) { e.Effect = DragDropEffects.None; } else { e.Effect = DragDropEffects.Copy; } } else { e.Effect = DragDropEffects.None; } } private void memoBox1_DragDrop(object sender, DragEventArgs e) { if (this.IsBusy) return; string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[]; if (fileList == null) { return; } foreach (string item in fileList) { AddSearchItem(item); } } /// /// Run next /// /// /// private void button8_MouseClick(object sender, MouseEventArgs e) { } private void button1_MouseClick(object sender, MouseEventArgs e) { this.Close(); } } }