/// <summary> /// Handles when a key is being pressed while the <see cref="Control"/> has focus. /// This is called immediately before <see cref="Control.KeyPressed"/>. /// Override this method instead of using an event hook on <see cref="Control.KeyPressed"/> when possible. /// </summary> /// <param name="e">The event args.</param> protected override void OnKeyPressed(KeyEventArgs e) { base.OnKeyPressed(e); if (e.Code == KeyCode.Escape) { if (RequestEndDialog != null) { RequestEndDialog.Raise(this, EventArgs.Empty); } } else { var asNumeric = e.Code.GetNumericKeyAsValue(); if (!asNumeric.HasValue) { return; } var value = asNumeric.Value - 1; if (value < 0) { value = 10; } if (value < _responses.Length) { if (SelectResponse != null) { SelectResponse.Raise(this, EventArgsHelper.Create(_responses[value])); } } } }
void ResponseText_Clicked(object sender, MouseButtonEventArgs e) { var src = (ResponseText)sender; var response = src.Response; if (response != null) { if (SelectResponse != null) { SelectResponse.Raise(this, EventArgsHelper.Create(response)); } } }