public Form1() { InitializeComponent(); this.KeyPreview = true; this.Shown += Form1_Shown; this.Disposed += Form1_Disposed; this._mouseEvents = new MouseEventList(); this.TopMost = true; // Note: for the application hook, use the Hook.AppEvents() instead _mouseHook = new MouseHook(); this._proc = HookCallback; this.replayButton.Enabled = false; _mouseHook.Register(this); toolStripMenuItem3.Click += SaveMenuItem_Click; toolStripMenuItem4.Click += LoadMenuItem_Click; }
private void LoadMenuItem_Click(object sender, EventArgs e) { var filter = TextResources.files_filter; using var openFileDialog = new OpenFileDialog { Filter = filter, FilterIndex = 1, RestoreDirectory = true }; if (openFileDialog.ShowDialog() != DialogResult.OK) { return; } var fileName = openFileDialog.FileName; var serializedEvents = File.ReadAllText(fileName); _mouseEvents = DeserializeFromString <MouseEventList>(serializedEvents); replayButton.Enabled = _mouseEvents.GetCount() > 0; }