用于在C#中单击文本框的WPF事件

时间:2012-06-18 02:19:56

标签: c# wpf

如何在点击文本框时举起活动?我无法在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");                
     }*/           
 }

2 个答案:

答案 0 :(得分:2)

对于文本事件,请使用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

答案 1 :(得分: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
}