// On "Ok" button private void okButton_Click( object sender, System.EventArgs e ) { try { // get rotation angle double angle = double.Parse( angleBox.Text ); // create appropriate rotation filter switch ( methodCombo.SelectedIndex ) { case 0: filter = new RotateNearestNeighbor( angle ); break; case 1: filter = new RotateBilinear( angle ); break; case 2: filter = new RotateBicubic( angle ); break; } // fill color filter.FillColor = Color.FromArgb( byte.Parse( redBox.Text ), byte.Parse( greenBox.Text ), byte.Parse( blueBox.Text ) ); // keep size filter.KeepSize = keepSizeCheck.Checked; // close dialog this.DialogResult = DialogResult.OK; this.Close( ); } catch ( Exception ) { MessageBox.Show( this, "Incorrect values are entered", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error ); } }