-
2021-10-29 14:25:57
有两种方法:
1.this.ActiveControl = TextBoxName;
2.this.TextBoxName.Focus();更多相关内容 -
C#递归遍历窗体所有textbox控件并设置textbox事件的方法
2020-09-04 00:37:51主要介绍了C#递归遍历窗体所有textbox控件并设置textbox事件的方法,包括针对textbox控件的递归遍历技巧与事件方法的设置技巧,需要的朋友可以参考下 -
C#TextBox 失去与获取焦点事件
2014-09-07 21:00:270 textBox5.LostFocus += new EventHandler(txt_LostFocus); textBox5.GotFocus += new EventHandler(txt_GotFocus); textBox5.MouseClick += new MouseEventHandler(textBox5C#TextBox 失去与获取焦点事件
textBox5.LostFocus += new EventHandler(txt_LostFocus); //失去焦点后发生事件 textBox5.GotFocus += new EventHandler(txt_GotFocus); //获取焦点前发生事件 textBox5.MouseClick += new MouseEventHandler(textBox5_MouseClick); // 鼠标点击事件
上面三个委托 可以完全得到想要的效果了.
小诀窍: 在 输入 += 后,按两次 Tab 键,就会出现后面的
new EventHandler(txt_LostFocus);
还有个
void txt_LostFocus(object sender, EventArgs e) { txtInput(textBox5); }
也会自动出现在里面输入自己想要的代码就可以..
-
C# winform textbox弹出窗体
2018-05-03 13:51:51C# winform textbox弹出窗体 控制了位置,不会遮挡住文本框内容 -
文本框获得焦点和失去焦点的判断代码
2020-12-09 07:29:57文本框失去焦点事件、获得焦点事件 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 onpropertychange 当属性... -
WPF的TextBox获得焦点时自动全部选择已有内容的方法
2018-08-20 11:58:43TextBox元素获得焦点时,可以用SelectAll()来选择已有文字,但不能直接用SelectAll()就得到想要的效果。其中一种方式是通过PreviewMouseDown\GotFocus\LostFocus的多个事件来完成,逻辑有些繁琐。每次都写这些就造成...TextBox元素获得焦点时,可以用SelectAll()来选择已有文字,但不能直接用SelectAll()就得到想要的效果。其中一种方式是通过PreviewMouseDown\GotFocus\LostFocus的多个事件来完成,逻辑有些繁琐。每次都写这些就造成代码重复,因此我写了一个附加属性类来解决这个问题。
本文利用创建的WPF附加属性来获得该功能:即在Text获得焦点的时候,全部选择textbox中已经存在的内容。
/// <summary> /// 当 TextBoxBase获得焦点的时候,自动全部选择文字。附加属性为SelectAllWhenGotFocus,类型为bool. /// </summary> public class TextBoxAutoSelectHelper { public static readonly DependencyProperty SelectAllWhenGotFocusProperty =DependencyProperty.RegisterAttached("SelectAllWhenGotFocus", typeof(bool), typeof(TextBoxAutoSelectHelper), new FrameworkPropertyMetadata((bool)false,new PropertyChangedCallback(OnSelectAllWhenGotFocusChanged))); public static bool GetSelectAllWhenGotFocus(TextBoxBase d) { return (bool)d.GetValue(SelectAllWhenGotFocusProperty); } public static void SetSelectAllWhenGotFocus(TextBoxBase d, bool value) { d.SetValue(SelectAllWhenGotFocusProperty, value); } private static void OnSelectAllWhenGotFocusChanged(DependencyObject dependency, DependencyPropertyChangedEventArgs e) { if (dependency is TextBoxBase tBox) { var isSelectedAllWhenGotFocus = (bool)e.NewValue; if (isSelectedAllWhenGotFocus) { tBox.PreviewMouseDown += TextBoxPreviewMouseDown; tBox.GotFocus += TextBoxOnGotFocus; tBox.LostFocus += TextBoxOnLostFocus; } else { tBox.PreviewMouseDown -= TextBoxPreviewMouseDown; tBox.GotFocus -= TextBoxOnGotFocus; tBox.LostFocus -= TextBoxOnLostFocus; } } } private static void TextBoxOnGotFocus(object sender, RoutedEventArgs e) { if (sender is TextBoxBase tBox) { tBox.SelectAll(); tBox.PreviewMouseDown -= TextBoxPreviewMouseDown; } } private static void TextBoxPreviewMouseDown(object sender, MouseButtonEventArgs e) { if (sender is TextBoxBase tBox) { tBox.Focus(); e.Handled = true; } } private static void TextBoxOnLostFocus(object sender, RoutedEventArgs e) { if (sender is TextBoxBase tBox) { tBox.PreviewMouseDown += TextBoxPreviewMouseDown; } } }
使用方法如下:
(1)使用Style,以下是直接放在元素中的,更直接的放在窗口的资源中,或资源字典中
<TextBox Text="{Binding xxx}">
<TextBox.Style>
<Style TargetType = "TextBox" >
< Setter Property="local:TextBoxAutoSelectHelper.SelectAllWhenGotFocus" Value="True"/>
</Style>
</TextBox.Style>
</TextBox>(2)或者直接使用元素的附加属性
<TextBox local:TextBoxAutoSelectHelper.SelectAllWhenGotFocus="True" Text="{Binding xxx}"/>
---->以上两种使用方法中的local都是代表命名空间的,具体根据实际情况即可。
补充:
(1)对于TextBox,如果之间没有获得焦点,然后要通过鼠标单击来获得焦点,其处理过程表现为:鼠标单击TextBox时,会首先产生PreviewMouseDown事件,处理完PreviewMouseDown事件后,TextBox会获得焦点并进一步产生GotFocus事件。如果在PreviewMouseDown中禁止掉事件进一步传播(e.Handle=true),那么TextBox就不会获得焦点,也不会激发GotFocus事件及其它后续事件。
(2)TextBox的先后产生的与鼠标点击有关的事件包括:PreviewMouseDown,GotFocus,PreviewMouseUp,MouseUp;对于我们想象中应该产生的MouseDown事件,测试过程中无论怎么做都没有激发MouseDown事件。建议尽量不使用PreviewMouseUp和MouseUp事件,其原因如下第(3)和第(4)条所示。
(3)对于TextBox的PreviewMouseUp事件,不建议使用,可能时BUG还是怎么回事。用了以后,整个界面点击任何位置,都只响应该TextBox的事件,其它事件都无法响应了。及时点击关闭窗口的按钮,也是仅仅响应该TextBox的事件,窗口都关闭不了。个人认为是Bug,不知道理解是否正确。
(4)对于TextBox的MouseUp事件,在测试过程中,有时是正常激发的,有时必须要点击TextBox的边框附近才会激发,而点击TextBox的内部不会激发。下图是官方文档中关于Mouse事件的说明:
(5)对于直接使用GotFocus事件来SelectAll()之所以不成功,个人理解是因为:在PreviewMouseDown事件传输过程中,TextBox先获得了焦点,并激发GotFocus事件。然后PreviewMouseDown会进一步向内传输,在此过程中TextBox还会进一步处理鼠标位置信息,并设置光标位置。正因为设置了光标的位置,这又会导致已经选择的文本被取消选择了。所以,为了获得自动选择文字的功能,就在PreviewMouseDown中主动SetFocus(注:这回激发GotFocus事件,在事件处理方法中SelectAll()),并禁止PreviewMouseDown事件进一步向TextBox的更深层次元素传播(e.Handled=true)。
(以上一些结论是根据现象推理的,由于水平有限,如有不准确,还请读者见谅)
-
C# windowForm TextBox获得焦点时高亮显示
2021-09-10 09:03:461.在代码中定义textBox_MouseClick事件处理 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; ...1.在代码中定义textBox_MouseClick事件处理
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using WindowsFormsApplication1.util; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void textBox_MouseClick(object sender, MouseEventArgs e) { if (textBox1.Focused) { textBox1.BackColor = Color.Cyan; } else { textBox1.BackColor = Color.Teal; } if (textBox2.Focused) { textBox2.BackColor = Color.Cyan; } else { textBox2.BackColor = Color.Teal; } } } }
2.为控件添加textBox_MouseClick事件
-
C#winform中textbox得到焦点和失去焦点
2020-12-23 16:57:21在编写winform程序的时候,当使用到textbox文本框这个控件,就可能会用到得到焦点和失去焦点时引发事件。 得到焦点 textbox.GotFocus+=new EventHandler((obj, ex) => {//你要执行的代码块 }); 失去焦点 textbox.... -
WPF 在TextBox失去焦点时检测数据,出错重新获得焦点解决办法
2021-02-05 01:28:20在WPF的TextBox的LostFocus事件中直接使用Focus()方法会出现死循环的问题正确的使用方式有2中方法:方法一:privatevoidtextBox3_LostFocus(objectsender,RoutedEventArgse){if(textBox3.Text!="abc"){this.... -
vb.net TextBox 失去焦点和获得焦点
2021-01-05 21:13:01获得焦点就是tBox.Focus(),失去焦点的方法没有找到, 只是找到了失去焦点的事件 : Private Sub tBox_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tBox.Leave End Sub vb.net... -
WinForm多个TextBox失去焦点事件解决
2017-10-21 18:54:561、问题描述: Winorm中的2个TextBox控件在LostFocus事件弹出... 焦点在TextBox1中点击TextBox1,事件执行情况:TextBox1的LostFocus Messagebox.Show()时->TextBox2的LostFocus事件弹出MessageBox.Show()确认后- -
Winform 窗体获得焦点
2019-02-28 14:39:00给窗体添加Shown事件 public void Form_Shown(object sender, EventArgs e) { this.Activate(); this.Focus(); //定义窗体中某控件获取焦点 this.textbox.Focus(); } 转载于:... -
c# 文本框,窗体打开后如何让某指定文本框获取焦点 Form1_Activated 中textbox1.focus()即可
2018-10-31 21:34:29进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex ...在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点。 1 2 3 4 private void Form... -
vbnet无焦点窗口,累死软键盘的窗体效果,直接代码资源和实例
2020-03-02 14:16:25vbnet无焦点窗口,累死软键盘的窗体效果,直接代码资源和实例 -
.NET 的TextBox获取输入焦点的注意事项(CSharp)
2019-10-03 02:41:46TextBox获得焦点有几个前提:1. TextBox所属的窗体(Form)在可操作(Active...所以在Form的Activated事件中添加TextBox.Focus(),即可获得焦点。若TextBox存在数据,Focus()后会全选中。取消全选可用: TextBox.Select... -
WPF的TextBox的焦点获取与失去焦点的死循环解决方案
2020-12-20 22:44:22在WPF中实现一个弹出层自动获取焦点,弹出层实现是通过其UserControl的依赖属性Visibility的绑定实现的,让UserControl上的TextBox获取焦点,初始实现代码如下:public Visibility IsVisibile{get { return ... -
C# WinFormApp TextBox添加失焦事件LostFocus
2020-10-29 15:59:41There is no LostFocus event for textbox in property Window,if you want to use this then you must need to add event handler. For example, there is textbox onLostFocus event in property window, that ... -
点击窗体,textbox 获得焦点
2012-12-07 17:02:35问题:如何让textbox一直获得焦点? 万一有人点了别的地方,例如datagridvie的某一个格子 ,隐藏的textbox就无法获取卡号,又因为是隐藏的,无法手动点回。 datagridvie 里面有很多列,有一个列示可以编辑的,... -
文本框的得到焦点和失去焦点事件处理
2010-12-01 12:48:14两个文本框 一个事用户名 一个是密码 里面有初始内容 得到焦点就把内容清空 失去焦点就判断输入的内容是否大于6 如果大于则作出相应的提示 -
WinForm设置窗体默认控件焦点
2020-09-28 14:41:33winform窗口打开后文本框的默认焦点...在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点。 private void Form1_Activated(object sender, EventArgs e) { textBox1.Focus(); } TextBox是可以获得焦点的 -
C#winform窗体点击TextBox控件,显示DateTimePicker日历控件,并获得日期值(可实现对日期赋空值)
2019-02-27 23:07:07由于DateTimePicker不能赋空值,用此方法可以置默认日期值为空 ...拖控件,将TextBox控件和DateTimePicker控件拖在同一位置,重复覆盖 3.代码如下: public partial class Form1 : Form { ... -
asp textbox 是有焦点,点击button按钮提交, textbox 却不不执行失去焦点事件
2014-11-17 07:06:47正确流程是:当所在单位的文本框失去焦点时会查到该单位的id然后后台获取这个id, 但现在有这样一种情况,文本框还没有失去焦点,直接去点击注册,这样会导致id获取不到,在后台进行数据转换时就会出错了 -
TextBox控件文本默认内容当文本获得焦点的时候清空内容。
2011-02-28 17:04:00<asp:TextBox ID="VotesNoTextBox" runat="server" Text="多个票号请用“,”逗号隔开。" Style="width: 80%; color: Gray" CssClass="inputcss" onfocus="cls()" onblur="res()" TextMode=... -
给TextBox添加失去焦点事件(两种方法)
2009-04-29 17:30:00第一种: Txt_CustomerID.Attributes.Add("onfocusout", "CheckID(CustomerID);... 给TextBox添加失去焦点事件,执行客户端方法,轻量级,但是保存状态比较繁琐。第二种: CustomerIDTextBox.Attr -
C# Winform设置焦点focus(textbox)
2020-03-11 21:41:37这与 textbox 聚焦的方式之一相关,当 textbox 被第一个拉到 Form 窗体时,textbox 会自动聚焦,反之不会,具体原因将在下文介绍。 C# Winform设置焦点有两种方法,一种是用 Focus() 方法实现,另一种是通过控件... -
玩转C#窗体-属性、方法和事件详细说明
2020-11-10 10:26:55文章目录简介Windows窗体的基本属性一、布局属性1、StartPosition属性2、Location属性3、尺寸属性4、WindowsState属性5、Autoscroll属性6、AutoSize属性二、样式属性1、ControlBox属性2、MaximizeBox属性3、... -
回车后获得焦点事件,回车后,下一个文本输入框可获得焦点,并选中
2018-03-28 19:06:43//回车后获得焦点事件 enterEvent() }); //回车后,下一个文本输入框将会获得焦点,并选中 function enterEvent(){ //$(function() {}) 是$(document).ready(function()的简写。DOM加载完毕之后执行 ... -
VB控件失去焦点前触发的事件——Validate事件
2019-04-20 09:59:33❤很多时候我们需要在控件失去焦点之前,再去判断其内容,比如说:想限制TextBox控件中内容为0-10的数字(你也可以用键盘Key事件,这个另说),想把ComboBox新输入的内容加入到列表选项中时,Validate事件就是很不错...