| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- //
- // System.Windows.Forms.KeyEventArgs.cs
- //
- // Author:
- // stubbed out by Daniel Carrera ([email protected])
- // Partially completed by Dennis Hayes ([email protected])
- // Gianandrea Terzi ([email protected])
- //
- // (C) 2002 Ximian, Inc
- //
- using System.Runtime.InteropServices;
- namespace System.Windows.Forms {
- // <summary>
- // Complete
- // </summary>
- public class KeyEventArgs : EventArgs {
- #region Fields
-
- private Keys keydata;
- private Keys keycode;
- private Keys modifiers;
- private bool alt = false;
- private bool control = false;
- private bool handled = false;
- private bool shift = false;
-
- private int keyvalue = -1;
-
- #endregion
- //
- // --- Constructor
- //
- public KeyEventArgs (Keys keyData)
- {
- keydata = keyData;
- }
- #region Public Properties
- [ComVisible(true)]
- public virtual bool Alt
- {
- get {
- return alt;
- }
- }
-
- [ComVisible(true)]
- public bool Control
- {
- get {
- return control;
- }
- }
-
- [ComVisible(true)]
- public bool Handled
- {
- get {
- return handled;
- }
- set {
- handled = value;
- }
- }
-
- [ComVisible(true)]
- public Keys KeyCode
- {
- get {
- return keycode;
- }
- }
-
- [ComVisible(true)]
- public Keys KeyData
- {
- get {
- return keydata;
- }
- }
-
- [ComVisible(true)]
- public int KeyValue
- {
- get {
- return keyvalue;
- }
- }
-
- [ComVisible(true)]
- public Keys Modifiers
- {
- get {
- return modifiers;
- }
- }
-
- [ComVisible(true)]
- public bool Shift
- {
- get {
- return shift;
- }
- }
- #endregion
- #region Public Methods
- /// <summary>
- /// Equality Operator
- /// </summary>
- ///
- /// <remarks>
- /// Compares two KeyEventArgs objects.
- /// The return value is based on the equivalence of
- /// alt, control, handled, keycode, keydata, keyvalue, modifiers, shift Property
- /// of the two KeyEventArgs.
- /// </remarks>
- public static bool operator == (KeyEventArgs KeyEventArgsA, KeyEventArgs KeyEventArgsB)
- {
- return (KeyEventArgsA.Alt == KeyEventArgsB.Alt) &&
- (KeyEventArgsA.Control == KeyEventArgsB.Control) &&
- (KeyEventArgsA.Handled == KeyEventArgsB.Handled) &&
- (KeyEventArgsA.KeyCode == KeyEventArgsB.KeyCode) &&
- (KeyEventArgsA.KeyData == KeyEventArgsB.KeyData) &&
- (KeyEventArgsA.KeyValue == KeyEventArgsB.KeyValue) &&
- (KeyEventArgsA.Modifiers == KeyEventArgsB.Modifiers) &&
- (KeyEventArgsA.Shift == KeyEventArgsB.Shift);
- }
-
- /// <summary>
- /// Inequality Operator
- /// </summary>
- ///
- /// <remarks>
- /// Compares two KeyEventArgs objects.
- /// The return value is based on the equivalence of
- /// alt, control, handled, keycode, keydata, keyvalue, modifiers, shift Property
- /// of the two KeyEventArgs.
- /// </remarks>
- public static bool operator != (KeyEventArgs KeyEventArgsA, KeyEventArgs KeyEventArgsB)
- {
- return (KeyEventArgsA.Alt != KeyEventArgsB.Alt) ||
- (KeyEventArgsA.Control != KeyEventArgsB.Control) ||
- (KeyEventArgsA.Handled != KeyEventArgsB.Handled) ||
- (KeyEventArgsA.KeyCode != KeyEventArgsB.KeyCode) ||
- (KeyEventArgsA.KeyData != KeyEventArgsB.KeyData) ||
- (KeyEventArgsA.KeyValue != KeyEventArgsB.KeyValue) ||
- (KeyEventArgsA.Modifiers != KeyEventArgsB.Modifiers) ||
- (KeyEventArgsA.Shift != KeyEventArgsB.Shift);
- }
- /// <summary>
- /// Equals Method
- /// </summary>
- ///
- /// <remarks>
- /// Checks equivalence of this
- /// KeyEventArgs and another
- /// object.
- /// </remarks>
- public override bool Equals (object obj)
- {
- if (!(obj is KeyEventArgs))return false;
- return (this == (KeyEventArgs) obj);
- }
- /// <summary>
- /// GetHashCode Method
- /// </summary>
- ///
- /// <remarks>
- /// Calculates a hashing value.
- /// </remarks>
- [MonoTODO]
- public override int GetHashCode ()
- {
- //FIXME: add class specific stuff;
- return base.GetHashCode();
- }
- /// <summary>
- /// ToString Method
- /// </summary>
- ///
- /// <remarks>
- /// Formats the object as a string.
- /// </remarks>
- [MonoTODO]
- public override string ToString ()
- {
- //FIXME: add class specific stuff;
- return base.ToString() + " KeyEventArgs";
- }
- #endregion
- }
- }
|