示例#1
0
        /// <summary>
        /// Erzeugt ein neues ConfirmDialog-Objekt und initialisiert dieses mit dem zugehörigen IGameScreen-Objekt.
        /// Zudem ist die Angabe der Zeichenreihenfolge Pflicht.
        /// </summary>
        public ComboBox(IScreen screen, DisplayLayer drawOrder, string text)
            : base(screen, drawOrder, String.Empty)
        {
            dropdown = new Menu(screen: screen, drawOrder: Index + DisplayLayer.Menu);
            dropdown.Bounds.Position     = ValueBounds.Position;
            dropdown.Bounds.Size         = new ScreenPoint(Screen, () => ValueBounds.Size.OnlyX + ValueBounds.Size.OnlyY * 10);
            dropdown.ItemForegroundColor = Design.ComboBoxItemForegroundColorFunc; // (s) => Container.ItemForegroundColor (s);
            dropdown.ItemBackgroundColor = Design.ComboBoxItemBackgroundColorFunc; // (s) => Design.WidgetBackground;
            dropdown.BackgroundColorFunc = (s) => Design.WidgetBackground;
            dropdown.ItemAlignX          = HorizontalAlignment.Left;
            dropdown.ItemAlignY          = VerticalAlignment.Center;
            dropdown.IsVisible           = false;
            dropdownBorder = new Border(
                screen: screen,
                drawOrder: Index + DisplayLayer.Menu,
                widget: dropdown,
                lineWidth: 2,
                padding: 2
                );

            currentValue        = new InputItem(screen: screen, drawOrder: Index, text: text, inputText: String.Empty);
            currentValue.Bounds = Bounds;
            currentValue.ForegroundColorFunc      = (s) => ForegroundColor;
            currentValue.BackgroundColorFunc      = (s) => Color.Transparent;
            currentValue.IsVisible                = IsVisible;
            currentValue.IsMouseClickEventEnabled = false;

            ValidKeys.Add(Keys.Escape);
        }
示例#2
0
 public void AddKey(Keys key)
 {
     if (!ValidKeys.Contains(key))
     {
         ValidKeys.Add(key);
     }
 }
示例#3
0
 /// <summary>
 /// Erzeugt ein neues InputItem-Objekt und initialisiert dieses mit dem zugehörigen IGameScreen-Objekt.
 /// Zudem sind Angaben zur Zeichenreihenfolge und für evtl. bereits vor-eingetragenen Text Pflicht.
 /// </summary>
 public InputItem(IScreen screen, DisplayLayer drawOrder, string text, string inputText)
     : base(screen, drawOrder, text)
 {
     InputText = inputText;
     ValidKeys.AddRange(TextHelper.ValidKeys);
     ValidKeys.Add(Keys.Enter);
     IsInputEnabled = false;
 }