我想这个问题还是有点复杂,首先我有一个字符串:0.445*sin(34)+exp(55);
当我帮这个字符串输完后TextBox的光标应该在0.445*sin(34)+exp(55)|(注|表示光标所在位置);
当我点击界面时候,需要在某一位置插入一个表达式 例如 Cos(),那么原表达式在TextBox可能变为0.445*sin(34*|)+exp(55)(| 表示光标所在位置,也就是需要加子表达式的地方)
在TextBox显示的时候,那么这个表达式就变为0.445*sin(34*Cos())+exp(55),第一个问题这个字符串怎么组合??而此时我需要将光标定义在0.445*sin(34*Cos(|))+exp(55);(注|表示光标所在位置);那有该怎么做??

解决方案 »

  1.   

    TextBox.Select 方法
    public void Select (
    int start,
    int length
    )
    参数
    start
    文本框中当前选定文本的第一个字符的位置。 length
    要选择的字符数。 异常
    异常类型 条件 
    ArgumentOutOfRangeException
     start 参数的值小于零。
     备注
    如果要将起始位置设置为控件文本中的第一个字符,请将 start 参数设置为 0。可以使用此方法选择文本的子字符串,例如在搜索控件的文本和替换信息时。注意 
    可以用编程方式在文本框内移动插入符号,方法是:将 start 参数设置为文本框内您要将插入符号移动到的位置,并将 length 参数设置为值 0。若要移动插入符号,该文本框必须具有焦点。
     
      

  2.   

    int i=  textBox1.SelectionStart;//获取光标位置
    string s = "asdf";
    textBox1.Text=  textBox1.Text.Insert(i, s);插入字符串