/// <summary> /// Releases unmanaged and - optionally - managed resources /// </summary> /// /// <param name="disposing"><c>true</c> to release both managed /// and unmanaged resources; <c>false</c> to release only unmanaged /// resources.</param> /// protected virtual void Dispose(bool disposing) { if (disposing) { // free managed resources if (lastBitmap != null) { lastBitmap.Dispose(); lastBitmap = null; } if (attributes != null) { attributes.Dispose(); attributes = null; } if (context != null) { context.Dispose(); context = null; } if (textFont != null) { textFont.Dispose(); textFont = null; } if (textBrush != null) { textBrush.Dispose(); textBrush = null; } if (backPen != null) { backPen.Dispose(); backPen = null; } if (backBrush != null) { backBrush.Dispose(); backBrush = null; } } }
/// <summary> /// Initializes a new instance of the <see cref="CaptureKeyboard"/> class. /// </summary> /// public CaptureKeyboard() { context = new NativeKeyboardContext(); conv = new CustomKeysConverter(); textFont = new Font("Segoe UI", 20); currentTransparency = 0f; transparencyStep = 0.3f; textBrush = new SolidBrush(Color.White); backPen = new Pen(Color.White, 4f); backBrush = new SolidBrush(Color.DarkBlue); matrix = new ColorMatrix(); matrix.Matrix33 = currentTransparency; attributes = new ImageAttributes(); location = new Point(5, 5); }