1

当用户更改插入符号所在的行时,我该如何执行一些代码?

所以像:

sub textbox1_lineindexchanged (byval ....) Handles Textbox1.Lineindexchanged
  'do code based on the current line
end sub

抱歉,我使用的是richtextbox,只是我一直使用它,所以我只是在我的想法中称它为文本框。

4

3 回答 3

0

TextBox使用普通的 WinForms实例无法做到这一点。它不会公开有关插入符号的任何信息。这样做的唯一方法是子类TextBox,覆盖 WndProc 并专门处理有关插入符号移动的消息(如果存在此类消息)。

你想在这里实现什么行为?可能有另一种方法可以实现这一点。

于 2010-02-07T20:19:41.633 回答
0

我假设您使用的是 Windows 窗体,所以我的答案是基于此。如果您使用的是 ASP.NET,那么您需要使用 JavaScript 来完成,我不知道如何/是否可能。

在 Windows 窗体中,您可以为 KeyUp 和 MouseUp 事件创建事件处理程序,但没有 SelectionChanged 事件。如果您改用 RichTextBox,则可以访问SelectionChanged事件。

如果您将使用文本框的SelectionStart属性并将其传递给GetLineFromCharIndex方法,该方法将为您提供行号。希望这可以帮助。

于 2010-02-07T20:21:42.613 回答
0

我怀疑有什么比从、和处理程序中检查SelectionStart属性更优雅的东西。KeyPressClickTextChanged

于 2010-02-07T20:23:15.507 回答