请问如何光标在文本筐(TextBox)中的位置?如何实现?

解决方案 »

  1.   

    用脚本实现:
    var obj=document.getElementById("TextBox1");
    obj.focus();
      

  2.   

    后台用
    Resprse.Write("<script>this.Form1.TextBox1.focus()</script>");
      

  3.   

    是定位光标在文本筐(TextBox)中的位置吧?
      

  4.   

    是 WinForm 下的 TextBox 吗?应该是用 TextBox 的 SelectionStart 属性来控制吧。
      

  5.   

    RegisterStartScript("focus","<script language=javascript>document.all.TextBox1.focus();</script>");
      

  6.   

    十分感谢大家的关注其实我想实现的功能是在点某一按钮时插入一段字符到文本筐的光标位置,TextBox是WEBFORM下的TextBox。
      

  7.   

    WEBFORM下的TextBox恐怕没法实现。
      

  8.   

    index.aspx:<%@ Page language="c#" Codebehind="index.aspx.cs" AutoEventWireup="false" Inherits="ssm1226.web.CSharp.cursor.index" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>index</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">
    <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 40px" runat="server"
    Width="336px" Height="24px"></asp:TextBox>
    <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 392px; POSITION: absolute; TOP: 40px" runat="server"
    Text="Button"></asp:Button></FONT>
    <script language="javascript">
    function AddOnPos(obj, charvalue)
    {
    //obj代表要插入字符的输入框
    //value代表要插入的字符
        
    obj.focus();
    var r = document.selection.createRange();
    var ctr = obj.createTextRange();
    var i;
    var s = obj.value;
        
    //注释掉的这种方法只能用在单行的输入框input内
    //对多行输入框textarea无效
    //r.setEndPoint("StartToStart", ctr);
    //i = r.text.length;
    //取到光标位置----Start----
    var ivalue = "&^asdjfls2FFFF325%$^&"; 
    r.text = ivalue;
    i = obj.value.indexOf(ivalue);
    r.moveStart("character", -ivalue.length);
    r.text = "";
    //取到光标位置----End----
    //插入字符
    obj.value = s.substr(0,i) + charvalue + s.substr(i,s.length);
    ctr.collapse(true);
    ctr.moveStart("character", i + charvalue.length);
    ctr.select();
    }
    function toAdd(){
    var obj=document.all("TextBox1");
    var str="雨中人";
    AddOnPos(obj, str)
    }
    </script>
    </form>
    </body>
    </HTML>
    index.aspx.cs:
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.TextBox TextBox1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    Button1.Attributes["onclick"]="toAdd()";
    }