asp.net将textbox中的光标移动到当前输入的文本后

今天写winform应用的时候想写一个类似于银行输入金额的那样的一个文本框,就是当用户输入满多少位的时候自动在后面添加诸如逗号之类的标识符,字符的判断在TextChanged 中很好实现,但有个问题就是我在判断到输入满8位的时候就自动添加一个逗号,但是文本框的光标就会跑到文本框开始的位置,很不方便,所以找了一些解决办法,代码如下

 代码如下 复制代码

private void textBox9_TextChanged_1(object sender, EventArgs e)

{

if(textBox9.Text.Length==8*(i+1)+i)

{

textBox9.Text += ",";

i++;

textBox9.SelectionStart = int.MaxValue;

}

}

可以使用textbox的selectionstart属性设置光标所在的位置。

js代码

在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数。

 代码如下 复制代码

function getCursortPosition (ctrl) {//获取光标位置函数
 var CaretPos = 0; // IE Support
 if (document.selection) {
 ctrl.focus ();
  var Sel = document.selection.createRange ();
  Sel.moveStart ('character', -ctrl.value.length);
  CaretPos = Sel.text.length;
 }
 // Firefox support
 else if (ctrl.selectionStart || ctrl.selectionStart == '0')
  CaretPos = ctrl.selectionStart;
 return (CaretPos);
}

PS:参数ctrl为input或者textarea对象

 代码如下 复制代码

function setCaretPosition(ctrl, pos){//设置光标位置函数
 if(ctrl.setSelectionRange)
 {
  ctrl.focus();
  ctrl.setSelectionRange(pos,pos);
 }
 else if (ctrl.createTextRange) {
  var range = ctrl.createTextRange();
  range.collapse(true);
  range.moveEnd('character', pos);
  range.moveStart('character', pos);
  range.select();
 }
}

PS:参数ctrl为input或者textarea对象,pos为光标要移动到的位置

时间: 2024-11-13 08:39:22

asp.net将textbox中的光标移动到当前输入的文本后的相关文章

WPF中。如何获取textbox中。光标的坐标

问题描述 WPF中.如何获取textbox中.光标的坐标..我想在输入的时候,下面进行提示.需要获取到光标所在坐标谢谢各位大神. 解决方案 解决方案二:求指点...百度不到解决方案三: 解决方案四:你鼠标点中Textbox的时候出现了光标然后在获取鼠标的点中的点不是可以吗.解决方案五:TextBoxobj=SelectBoxasTextBox;//插入到光标处intci=obj.CaretIndex;if(ci>0&&ci==obj.Text.Length){obj.Text=obj

android 中listview中的edittext 如何让其输入特定值后自动跟新数据库?

问题描述 android 中listview中的edittext 如何让其输入特定值后自动跟新数据库? android 中listview中的edittext 如何让其输入特定值后自动跟新数据库? 解决方案 写一个TextWatcher 作为监听事件,然后在监听事件里面对数据库进行更新操作. 可参考: http://blog.csdn.net/walker02/article/details/7234458 解决方案二: listView中的item有监听方法item.onItemClickLi

修改TextBox中的光标样式

问题描述 如何修改TextBox的竖线闪烁式光标,变成下划式的光标?就像DOS中那种样式,光标以下划线式的闪烁,不是竖线. 解决方案 解决方案二:关注中..一般都是修改鼠标指针样式,,想法很犀利解决方案三://这样就成下划线了<styletype="text/css">.myline{BORDER-RIGHT:#0000000pxsolid;BORDER-TOP:#0000000pxsolid;BORDER-LEFT:#0000000pxsolid;BORDER-BOTTO

android-用户输入完成后,把编辑框中的光标移除

问题描述 用户输入完成后,把编辑框中的光标移除 在程序的布局中有一个 EditText.当用户在编辑框中输入一些文本后,然后点击"完成"键后,我想把编辑框中的闪烁光标去掉.我查相关资料,使用如下的代码,可以还是没有实现,闪烁的光标依然存在. private class MyOnKeyListener implements OnKeyListener { public boolean onKey(View v int keyCode KeyEvent event) { if (event

ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性

ado|asp.net|服务器|控件 在以前的ASP.NET 1.x版本中,设置为ReadOnly的TextBox控件在客户端更改了值后,在服务器端仍然可以得到修改后的值,但在ASP.NET 2.0中,这种做法已经限制.这是为了提高应用程序安全性所考虑的.下面就是TextBox控件获得数据的内部方法,由此可以看出ReadOnly的限制: protected virtual bool LoadPostData(string postDataKey, NameValueCollection post

定位 光标-如何使用javascript使用方向键控制光标在table单元格的文本框(是TextBox控件)中跳动

问题描述 如何使用javascript使用方向键控制光标在table单元格的文本框(是TextBox控件)中跳动 最近在做一个仓库管理系统,客户说最好能用方向键来定位光标,不需要用鼠标点击,这样必须麻烦,我在table单元格中放了文本框(TextBox控件),如何用方向键来定位,谢谢大家啦...

asp.net 2.0中的ValidationGroup

asp.net|asp.net 在asp.net 1.1中,对于验证类控件,在使用时,遇到有的不需要验证的控件时,是十分麻烦的,就是说不可能有选择验证某些控件,而在asp.net 2.0中,新增加了validationgroup属性,可以指定验证某些控件,例子如下: <html> <body> <form runat="server"> <asp:textbox id="TextBox1" runat="serve

ASP.NET 2.0中实现跨页面提交

asp.net|页面 在ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面.例如FirstPage.aspx中的button只能提交到FirstPage.aspx,而不能提交到SecondPage.aspx.很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制.熟悉ASP/JSP/PHP的朋友大概很不习惯,因为以前经常使用的提交方式突然无法使用,虽然也有解决这个问题的方法(演示Webcast),可是过程太烦琐,不甚方便.令我们高兴的是,

ASP.NET 2.0中实现模板中的数据绑定

asp.net|模板|数据 模板化的数据绑定控件为我们在页面上显示数据提供了根本的灵活性.你可能还记得ASP.NET v1.x中的几个模板化控件(例如DataList和Repeater控件).ASP.NET 2.0仍然支持这些控件,但在模板中绑定数据的语法已经被简化和改善了.本文将讨论在数据绑定控件模板中绑定数据的多种方法. 数据绑定表达式 ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fiel