1

单击文本框时如何引发事件?我在 C# 中找不到 WPF 事件的引用。

这个想法是让文本框在单击时触发一个事件。例如,假设我一单击文本框,便执行记事本。

 private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
 {
     hello = Process.Start("notepad");   
 }
 private void Click(object sender, MouseButtonEventArgs e)
 {    
     /* if (e.LeftButton == MouseButtonState.Pressed)
     {
         hello = Process.Start(@"notepad");                
     }*/           
 }
4

2 回答 2

3

对于文本事件,使用 TextInput 事件并从 e.Text 读取输入的字符

private void yourTextBox_TextInput(object sender, TextCompositionEventArgs e)
{  
    if (e.Text == "K")
    {
    }
}

鼠标事件使用 MouseDown/MouseUp

有时 MouseDown/MouseUp 在 TextBox 上不起作用,然后使用这个:

http://msdn.microsoft.com/en-us/library/system.windows.uielement.previewmouseup.aspx

于 2012-06-18T02:25:51.793 回答
0

单击文本框时可以引发 MouseLeftButtonDown 事件。默认情况下,此事件不会在文本框上触发。我们需要使用 UIElement.AddHandler()。

例如:

XAML:

<Textbox X:Name="Name_Textbox" MouseLeftButtonDown="Name_Textbox_MouseLeftButtonDown"/>

在类构造函数中:

TextBox_Name.AddHandler(FrameworkElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler("Name_Textbox_MouseLeftButtonDown"), true);

在类文件中添加事件:

private void Name_Textbox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)  
{
   // Your logic on textbox click
}
于 2013-02-18T04:24:31.327 回答