private void recordGIFToolStripMenuItem_Click(object sender, EventArgs e) { if (recordGIFToolStripMenuItem.Text != "Start Recording") { // End recording recordGIFToolStripMenuItem.Text = "Start Recording"; gifEncoder.FinishAsync(ResetTitleAsync); Text += " (Encoding...)"; } else { // Begin recording an animated gif var sfd = new SaveFileDialog(); sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); sfd.Filter = "Animated Gif Image (*.gif)|*.gif"; if (sfd.ShowDialog() != DialogResult.OK) return; recordGIFToolStripMenuItem.Text = "Stop Recording"; var _gifEncoder = new AnimatedGifEncoder(); if (File.Exists(sfd.FileName)) File.Delete(sfd.FileName); gifEncoder = new DeferredGifEncoder(_gifEncoder, sfd.FileName); } }
private void startRecordingToolStripMenuItem_Click(object sender, EventArgs e) { if ((bool)startRecordingToolStripMenuItem.Tag) { // End recording startRecordingToolStripMenuItem.Tag = false; startRecordingToolStripMenuItem.Text = "Start Recording"; gifEncoder.FinishAsync(null); } else { // Begin recording an animated gif SaveFileDialog sfd = new SaveFileDialog(); sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); sfd.Filter = "Animated Gif Image (*.gif)|*.gif"; if (sfd.ShowDialog() != DialogResult.OK) return; startRecordingToolStripMenuItem.Tag = true; startRecordingToolStripMenuItem.Text = "Stop Recording"; AnimatedGifEncoder _gifEncoder = new AnimatedGifEncoder(); if (File.Exists(sfd.FileName)) File.Delete(sfd.FileName); gifEncoder = new DeferredGifEncoder(_gifEncoder, sfd.FileName); } }