-1
XAML文件WPF keydown無法捕捉逃生?
PreviewKeyDown="Window_KeyDown"
.cs文件
private void Window_KeyDown(object sender, KeyEventArgs e)
{
System.Windows.Forms.MessageBox.Show(e.Key.ToString());
if (e.Key == Key.Escape)
{
this.Close();
}
}
的KeyPreview設置爲true,雖然消息框不會出現ESC鍵。 (消息框顯示爲其他「常規」鍵,如0-9和a-z)。我如何解決這個問題或找到一種方法來觸發ESC上的某些東西?
EDIT
Win.xaml
<Window x:Class="WindowsFormsApplication5.Win"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStyle="None"
PreviewKeyDown="Window_KeyDown">
</Window>
Win.xaml.cs
public partial class Win : Window
{
public Win()
{
InitializeComponent();
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
System.Windows.MessageBox.Show(e.Key.ToString());
if (e.Key == Key.Escape)
{
this.Close();
}
}
}
Form1.cs的
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Win scrn = new Win();
scrn.Show();
}
}
希望這應該清除任何問題,對此不清楚抱歉。
你爲什麼用WPF的Windows Forms'MessageBox'? – poke
重複的問題,已經在回答:http://stackoverflow.com/questions/7691713/how-to-close-a-window-in-wpf-on-a-escape-key –
我不知道,最簡單的方法我知道顯示一個彈出消息,這真的很重要嗎? – user1768788