【问题标题】:Current key position in text box文本框中的当前关键位置
【发布时间】:2011-06-19 19:46:01
【问题描述】:

在winform的文本框中,如何获取当前的key-in位置?

例如-

textbox.text = 3056.98

如果我在“0”之后键入“7”,则当前键入位置为 3。

在 vb.net 中,哪个文本框事件或关键字可以获得这个位置值?

【问题讨论】:

    标签: vb.net visual-studio-2005 textbox


    【解决方案1】:

    对于 Winforms 文本框,您可以使用 SelectionStart 属性获取当前光标位置。

    在 WPF 中,可以使用 CaretIndex 属性找到相同的内容。

    不确定 ASP.NET - 我怀疑您是否可以检索此服务器端。

    【讨论】:

      【解决方案2】:
      1. 获取文本框中插入符号的索引:

        C#

        int caretIndex = textBox.SelectionStart;
        

        VB.NET

        Dim caretIndex As Integer = textBox.SelectionStart
        
      2. 从插入符号索引中获取行号:

        C#

        int lineNumber = textBox.GetLineFromCharIndex(caretIndex);
        

        VB.NET

        Dim lineNumber As Integer = textBox.GetLineFromCharIndex(caretIndex)
        
      3. 获取当前行的字符索引:

        C#

        Point characterXY = textBox.GetPositionFromCharIndex(caretIndex);
        int characterIndex = textBox.GetCharIndexFromPosition(characterXY);
        

        VB.NET

        Dim characterXY As Point = textBox.GetPositionFromCharIndex(caretIndex)
        Dim characterIndex As Integer = textBox.GetCharIndexFromPosition(characterXY)
        

      我猜你可以从这里继续...


      参考How can I display the line position in a TextBox on the status bar?

      【讨论】:

      • 亲爱的@AkramShahda,这是多行文本框吗?谢谢。
      • @soclose:确实如此。但是,您可以使用第一步获取单行 TextBox 中的位置。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 2015-02-12
      相关资源
      最近更新 更多