private void btnCompress_Click(object sender, EventArgs e)
        {
            var sfd = new SaveFileDialog();

            if (sfd.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            var offset = numOffset.Value;
            var length = numLength.Value;

            if (_compressionFormat == null)
            {
                _compressionFormat = new CompositeCTRFormat();
            }

            var compression = _compressionFormat.GetCompression(cmbAlgorithm.SelectedIndex);

            var fs = File.OpenRead(txtFilePath.Text);

            fs.Seek((long)offset, SeekOrigin.Begin);

            var os = File.Create(sfd.FileName);

            compression.Compress(fs, (long)length, os);
            os.Close();

            fs.Close();
        }
        private void btnDecompress_Click(object sender, EventArgs e)
        {
            var sfd = new SaveFileDialog();

            if (sfd.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            var offset = numOffset.Value;
            var length = numLength.Value;

            if (_compressionFormat == null)
            {
                _compressionFormat = new CompositeCTRFormat();
            }

            var fs = File.OpenRead(txtFilePath.Text);

            fs.Seek((long)offset, SeekOrigin.Begin);

            if (_compressionFormat.Supports(fs, (long)length))
            {
                var os = File.Create(sfd.FileName);
                _compressionFormat.Decompress(fs, (long)length, os);
                os.Close();
            }
            else
            {
                MessageBox.Show(@"This file is not is a supported format.");
            }

            fs.Close();
        }