Beispiel #1
0
        void This_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Modifiers != Keys.None)
            {
                return;
            }

            FieldTypes editorField = FieldTypes.Instruction;
            int?       index       = mInstructionTextBox.SelectionStart + mInstructionTextBox.SelectionLength;

            if (e is FieldKeyEventArgs)
            {
                editorField = ((FieldKeyEventArgs)e).Field;
                index       = ((FieldKeyEventArgs)e).Index;
            }

            switch (e.KeyCode)
            {
            case Keys.Prior:
            case Keys.Next:
            case Keys.Up:
            case Keys.Down:
                NavigationKeyDown?.Invoke(this, new FieldKeyEventArgs(e.KeyData, editorField, index));

                e.Handled = true;
                break;

            case Keys.Right:
                if (sender == mFullWordEditor)
                {
                    mInstructionTextBox.Focus();
                }
                else if (sender == mInstructionTextBox && mInstructionTextBox.SelectionStart + mInstructionTextBox.SelectionLength == mInstructionTextBox.TextLength && NavigationKeyDown != null)
                {
                    NavigationKeyDown(this, e);
                    e.Handled = true;
                }

                break;

            case Keys.Left:
                if (sender == mFullWordEditor)
                {
                    NavigationKeyDown?.Invoke(this, e);
                }
                else if (sender == mInstructionTextBox && mInstructionTextBox.SelectionStart + mInstructionTextBox.SelectionLength == 0)
                {
                    mFullWordEditor.Focus(FieldTypes.Chars, null);
                    e.Handled = true;
                }

                break;
            }
        }
Beispiel #2
0
        void This_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Modifiers != Keys.None)
            {
                return;
            }

            FieldTypes editorField = FieldTypes.Word;
            int?       index       = null;

            if (sender == mLongValueTextBox)
            {
                editorField = FieldTypes.Value;
                index       = mLongValueTextBox.SelectionLength + mLongValueTextBox.SelectionStart;
            }

            switch (e.KeyCode)
            {
            case Keys.Prior:
            case Keys.Next:
            case Keys.Up:
            case Keys.Down:
                NavigationKeyDown?.Invoke(this, new FieldKeyEventArgs(e.KeyData, editorField, index));
                break;

            case Keys.Right:
                if (sender == mWordEditor)
                {
                    mLongValueTextBox.Focus();
                }
                else if (sender == mLongValueTextBox && NavigationKeyDown != null)
                {
                    NavigationKeyDown(this, e);
                }

                break;

            case Keys.Left:
                if (sender == mLongValueTextBox)
                {
                    mWordEditor.Focus(FieldTypes.LastByte, null);
                }
                else if (sender == mWordEditor && NavigationKeyDown != null)
                {
                    NavigationKeyDown(this, e);
                }

                break;
            }
        }
Beispiel #3
0
        void This_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.Prior:
            case Keys.Next:
            case Keys.Up:
            case Keys.Down:
                NavigationKeyDown?.Invoke(this, e);
                break;

            case Keys.Right:
                break;
            }
        }
Beispiel #4
0
        void This_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Modifiers != Keys.None)
            {
                return;
            }

            switch (e.KeyCode)
            {
            case Keys.Prior:
            case Keys.Next:
            case Keys.Up:
            case Keys.Down:
                NavigationKeyDown?.Invoke(this, e);
                break;
            }
        }
        void This_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Control && e.KeyCode == Keys.A)
            {
                SelectAll();
                e.Handled          = true;
                e.SuppressKeyPress = true;
                return;
            }

            if (e.Modifiers != Keys.None)
            {
                return;
            }

            switch (e.KeyCode)
            {
            case Keys.Prior:
            case Keys.Next:
            case Keys.Up:
            case Keys.Down:
                NavigationKeyDown?.Invoke(this, new IndexKeyEventArgs(e.KeyData, SelectionStart + SelectionLength));
                break;

            case Keys.Right:
                if (SelectionStart + SelectionLength == TextLength && NavigationKeyDown != null)
                {
                    NavigationKeyDown(this, e);
                }
                break;

            case Keys.Left:
                if (SelectionStart + SelectionLength == 0 && NavigationKeyDown != null)
                {
                    NavigationKeyDown(this, e);
                }
                break;

            case Keys.Enter:
                e.Handled = true;
                break;
            }
        }
Beispiel #6
0
        void This_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Modifiers != Keys.None)
            {
                return;
            }

            MixByteTextBox box;

            switch (e.KeyCode)
            {
            case Keys.Prior:
            case Keys.Next:
            case Keys.Up:
            case Keys.Down:
                NavigationKeyDown?.Invoke(this, e);
                break;

            case Keys.Right:
                if (sender == mSignButton && ByteCount > 0)
                {
                    mByteTextBoxes[0].Focus();
                    mByteTextBoxes[0].Select(0, 2);
                    break;
                }

                box = (MixByteTextBox)sender;
                if (box.SelectionStart + box.SelectionLength == box.TextLength)
                {
                    var byteIndex = Array.IndexOf(mByteTextBoxes, box);
                    if (byteIndex < ByteCount - 1)
                    {
                        mByteTextBoxes[byteIndex + 1].Focus();
                        mByteTextBoxes[byteIndex + 1].Select(0, 2);
                    }
                    else
                    {
                        NavigationKeyDown?.Invoke(this, e);
                    }
                }

                break;

            case Keys.Left:
                if (sender == mSignButton)
                {
                    NavigationKeyDown?.Invoke(this, e);

                    e.Handled = true;
                    break;
                }

                box = (MixByteTextBox)sender;
                if (box.SelectionStart + box.SelectionLength == 0)
                {
                    var byteIndex = Array.IndexOf(mByteTextBoxes, box);
                    if (byteIndex > 0)
                    {
                        mByteTextBoxes[byteIndex - 1].Focus();
                        mByteTextBoxes[byteIndex - 1].Select(0, 2);
                    }
                    else
                    {
                        mSignButton.Focus();
                    }
                }

                break;
            }
        }