本文整理汇总了C#中KeyEvent.GetKeyCode方法的典型用法代码示例。如果您正苦于以下问题:C# KeyEvent.GetKeyCode方法的具体用法?C# KeyEvent.GetKeyCode怎么用?C# KeyEvent.GetKeyCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KeyEvent
的用法示例。
在下文中一共展示了KeyEvent.GetKeyCode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: KeyPressed
public virtual void KeyPressed(KeyEvent e)
{
int code = e.GetKeyCode();
if (code == KeyEvent.VK_BACK_SPACE || code == KeyEvent.VK_LEFT)
{
if (outputMark == GetCaretPosition())
{
e.Consume();
}
}
else
{
if (code == KeyEvent.VK_HOME)
{
int caretPos = GetCaretPosition();
if (caretPos == outputMark)
{
e.Consume();
}
else
{
if (caretPos > outputMark)
{
if (!e.IsControlDown())
{
if (e.IsShiftDown())
{
MoveCaretPosition(outputMark);
}
else
{
SetCaretPosition(outputMark);
}
e.Consume();
}
}
}
}
else
{
if (code == KeyEvent.VK_ENTER)
{
ReturnPressed();
e.Consume();
}
else
{
if (code == KeyEvent.VK_UP)
{
historyIndex--;
if (historyIndex >= 0)
{
if (historyIndex >= history.Count)
{
historyIndex = history.Count - 1;
}
if (historyIndex >= 0)
{
string str = history[historyIndex];
int len = GetDocument().GetLength();
ReplaceRange(str, outputMark, len);
int caretPos = outputMark + str.Length;
Select(caretPos, caretPos);
}
else
{
historyIndex++;
}
}
else
{
historyIndex++;
}
e.Consume();
}
else
{
if (code == KeyEvent.VK_DOWN)
{
int caretPos = outputMark;
if (history.Count > 0)
{
historyIndex++;
if (historyIndex < 0)
{
historyIndex = 0;
}
int len = GetDocument().GetLength();
if (historyIndex < history.Count)
{
string str = history[historyIndex];
ReplaceRange(str, outputMark, len);
caretPos = outputMark + str.Length;
}
else
{
historyIndex = history.Count;
ReplaceRange(string.Empty, outputMark, len);
}
}
//.........这里部分代码省略.........