Hola a todos,
Ahora les traigo una forma de deshabilitar la combinación de teclas alt+F4 en una ventana en WPF con C#.
Para empezar debemos agregar el evento de KeyDown y Closing a nuestra ventana la cual quedara así:
1<Window x:Class="WpfApplication1.Window1"
4        Title="Window1" Height="300" Width="300" WindowStyle="None"WindowStartupLocation="CenterScreen"
5        Closing="Window_Closing" WindowState="Normal"
6        KeyDown="Window_KeyDown">
7    <Grid>
8    </Grid>
9</Window>
la cual tendra un codigo .cs así:
01public partial class Window1 : Window
02    {       
03        public Window1()
04        {
05            InitializeComponent();
06        }
07        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
08        {
09          
10        }
11        private void Window_KeyDown(object sender, KeyEventArgs e)
12        {
13          
14        }
15        private void button1_Click(object sender, RoutedEventArgs e)
16        {
17          
18        }
19    }
Una vez teniendo esto agregamos una variable de tipo bool que nos servirá como bandera para saber cuando fue presionada la combinación de teclas alt+F4
1private bool _altf4 = false;
Agregamos las siguientes lineas a nuestro evento KeyDown, con el cual sabremos cuando fueron presionadas las teclas alt+F4:
1private void Window_KeyDown(object sender, KeyEventArgs e)
2     {
3         if (e.SystemKey == Key.F4 &&(Keyboard.IsKeyDown(Key.LeftAlt)||Keyboard.IsKeyDown(Key.RightAlt)))
4         {
5             _altf4 = true;
6         }
7     }
luego agregamos el siguiente código al evento Closing
1private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
2        {
3            if (_altf4)
4                e.Cancel = true;
5            _altf4 = false;
6        }
y seria todo al ejecutar nuestra aplicación la combinación de teclas alt+F4 quedara deshabilitada de nuestra ventana.
Bueno por el momento es todo, espero les sirva de algo y si les servio no olviden comentar.
Salu2.

No hay comentarios:

Publicar un comentario