C# WINDOWS 启用程序,
如文本框,里有如下文字,abcdefg12kiop
现在光标停留在1和2中间,
我怎么样取到,8这个位置数字?
谢谢.

解决方案 »

  1.   

    //通过API完成
      //通过向文本框传递EM_LINEFROMCHAR消息可以得到光标所在的行数   
      Row=SendMessage(TextBox的Handle,EM_LINEFROMCHAR,   -1,   0)+1;   
        
      //通过向文本框传递EM_GETSEL消息可以得到编辑控件中一段选定内容的起点与终点字符的个数   
      int   s   =   (int)SendMessage(TextBox的Handle,   EM_GETSEL,   0,   0);   
      //通过向文本框传递EM_GETSEL消息可以得到每一行的第一个字符在全文中的字符序号   
      int   li   =   (int)SendMessage(TextBox的Handle,EM_LINEINDEX,   -1,   0);   
      int   c   =   ai   -   li;   
      Col=(s   &   0xffff)-li+1;   
      //各个消息的值   
      EM_LINEINDEX   =   0xBB;   
      EM_LINEFROMCHAR   =   0xC9;   
      EM_GETSEL   =   0xB0; 
      

  2.   

    如果想简单点儿,就用textBox1.SelectionStart
    取得光标当前停留的位置的字符:
    string getstr=this.textBox1.Text.Substring(this.textBox1.SelectionStart-1,1);
      

  3.   

    int nowposit=txtSql.GetCharIndexFromPosition(new Point(Cursor.Position.X,Cursor.Position.Y));