WPF中TextBox控件对于鼠标单击获取焦点后的全选

程序代码

 代码如下 复制代码

void OnLostFocus(object sender, RoutedEventArgs e)
         {
             TextBox tb = e.Source as TextBox;
             tb.PreviewMouseDown += new MouseButtonEventHandler(OnPreviewMouseDown);
         }
 
         void OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
         {
             TextBox tb = e.Source as TextBox;
             tb.Focus();
             e.Handled = true;
         }
 
         void OnGotFocus(object sender, RoutedEventArgs e)
         {
             TextBox tb = e.Source as TextBox;
             tb.SelectAll();
             tb.PreviewMouseDown -= new MouseButtonEventHandler(OnPreviewMouseDown);
         }

 

TextBox Name="searchTextBox" Background="DarkOrange" HorizontalAlignment="Stretch" MaxLength="15" TextAlignment ="Center"
     TextChanged="OnSearchTextChange" GotFocus="OnGotFocus" PreviewMouseDown="OnPreviewMouseDown" LostFocus="OnLostFocus">

 

输入名称搜索</TextBox>  关键点在于鼠标按下之时

 代码如下 复制代码
tb.Focus();
e.Handled = true;

由这里引发GotFocus事件 并且设置Handled 标记阻止路由事件继续传播

在GotFocus的事件里面利用tb.SelectAll()全选

 代码如下 复制代码

tb.PreviewMouseDown -= new MouseButtonEventHandler(OnPreviewMouseDown);

所实现的功能是当第二次单击的时候,不再是全选文字,而是显示光标。

时间: 2024-09-15 13:01:25

WPF中TextBox控件对于鼠标单击获取焦点后的全选的相关文章

wpf中添加控件怎么不显示

问题描述 wpf中添加控件怎么不显示 新人求指导,代码如下,TextBlock和Button不显示 <Window x:Class="计算器界面.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="计算器&

wpf 中 image控件中的bitmapsource/bitmapimage大小变化?

问题描述 wpf中image控件中的bitmapsource/bitmapimage大小一直都不变,怎么让其改变啊,急 解决方案 解决方案二:<DataGridTemplateColumn.CellTemplate><DataTemplate><ImageMouseLeftButtonDown="Image_MouseLeftButtonDown_1"Tag="{BindingFid,UpdateSourceTrigger=PropertyCha

~求教 gridview中 如何实现两个模板列中 textbox控件的 实时变换呢 ? 类似TextChanged

问题描述 gridview中如何实现两个模板列中textbox控件的实时变换呢?类似TextChanged比如在模板列中有两个控件textbox1和textbox2如何实现当textbox1的值发生变化以后textbox2的值马上就变成textbox1的值乘以二就是下面的代码怎么能够在textbox1的值发生变化后改变焦点时马上实现呢??多谢各位大侠~for(i=0,i<10,i++){TextBoxtextbox1=(TextBox)GridView1.Rows[i].Cells[2].Fin

WPF中TreeView控件在选中节点后如何获取其父节点,再父节点信息

问题描述 winform中TreeView控件中,在选中某个节点后,可以用e.Node.Parent来获取其父节点信息,再父节点可以用e.Node.Parent.Parent,而在WPF中此方法似乎不行,如,在选中某个节点后TreeViewItemitem=(TreeViewItem)treeCourseInfo.SelectedItem;可以获取该节点的信息if(item.Header.ToString()=="科目信息",但是不知该如何获取其父节点,再父节点.....信息,各位有谁

WPF中image控件鼠标事件

问题描述 我在WPF的窗口中添加了一个image控件,然后想通过该控件的MouseDown事件来捕捉鼠标的位置,可是添加了事件的处理程序后,该事件怎么都不响应,下面是xaml和cs中的代码<Windowx:Class="TrackingForms.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.mic

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法_实用技巧

当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为"空" 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内容,这时就比较尴尬了. 刚开始是换成Html 里的 <input type="text" readonly="readonly" > ,不过后来发现这个工作量是很大的, 所以网上搜了下,没找出Text

dev中 chartControl 控件 ,鼠标点击事件和鼠标浮动事件

问题描述 dev控件中,chartControl控件显示的柱状图,鼠标移动到柱子上的事件在哪儿? 解决方案 解决方案二:官网,自己查资料去吧.

WPF中TabControl控件标签 可以隐藏吗或者去掉

问题描述 解决方案 解决方案二:控件的Visibility控件的设置即可代码或xaml里设置均可me.tabItem2.Visibility=System.Windows.Visibility.Hidden解决方案三:隐藏掉?那你为什么用这个控件?解决方案四:使用Items.Remove

WPF中Image控件不释放内存

问题描述 使用Image控件和button控件,每次按一下button载入一张新图片,就是不断修改Image控件的source.但是程序占的内存越来越多,似乎Image控件显示之前的图片所占的资源并没有被释放掉.类似的问题也在这里http://zhidao.baidu.com/link?url=DDjQpz5Un0IXGeF34N2LBWv10L7f1z5hpOdX980_LtPSZk6eCovyD3ZqXQL7Fkl8L5Ve2DDVaAmcyyEB-OKWjq 解决方案 解决方案二:参见:解