public override void PaintScreen(List <ShowItemBase> ShowItemList) { this.ShowItemList = ShowItemList; base.PaintScreen(ShowItemList); // find the first field on the screen. var cursor = VisualItems.FirstInputItem(); if (cursor != null) { this.CaretCursor = new ItemCanvasCursor(cursor); var item = cursor.GetVisualItem(); CanvasCaret.StartBlink(item, item.StrLoc, "_"); } }
private void Item_PreviewKeyDown(object sender, KeyEventArgs e) { string keyText = TextCanvasLib.Ext.KeyExt.ToTextInput(e.Key); if (keyText != null) { this.CaretCursor = PutText_AdvanceCaret(this.CaretCursor, keyText); this.CanvasCaret.StartBlink(this.CaretCursor); e.Handled = true; } else if (e.Key == Key.Tab) { if (Keyboard.IsKeyDown(Key.LeftShift) == false) { this.CaretCursor = this.CaretCursor.NextInputItem(); } else { this.CaretCursor = this.CaretCursor.PrevInputItem(); } var item = this.CaretCursor.GetVisualItem(); CanvasCaret.SetLocation(item.StrLoc); e.Handled = true; } else if (e.Key == Key.Down) { e.Handled = true; } else if (e.Key == Key.Enter) { CanvasCaret.BlinkSymbol(this.CaretLoc, "_"); } else if (e.Key == Key.Right) { this.CaretCursor.AdvanceRight(HowAdvance.NextColumn); this.CanvasCaret.StartBlink(this.CaretCursor); e.Handled = true; } else if (e.Key == Key.Left) { this.CaretCursor.AdvanceLeft(HowAdvance.NextColumn); this.CanvasCaret.StartBlink(this.CaretCursor); e.Handled = true; } else if (e.Key == Key.Up) { e.Handled = true; } else if (e.Key == Key.Back) { PutText(" ", this.CaretLoc); CanvasCaret.BlinkSymbol(this.CaretLoc, "_"); e.Handled = true; } else if (e.Key == Key.Delete) { CanvasCaret.BlinkSymbol(this.CaretLoc, "_"); e.Handled = true; } // f3-exit. Signal the screen exit event. else if (e.Key == Key.F3) { if (this.ScreenExitEvent != null) { this.ScreenExitEvent(this, new EventArgs()); } } }