You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

复刻记事本:Visual Studio WinForms中TextBox点击新位置触发方法咨询

解决光标点击位置更新状态栏的问题

你需要用TextBox的SelectionChanged事件来替代Click事件,这个事件会在光标位置发生任何变化时触发(包括鼠标点击新位置、用键盘箭头移动光标、选中文本等场景),完全覆盖你需要更新状态栏的需求。

具体操作步骤:

  • 打开WinForms设计器,选中你的TextBody_NotepadNoteEditor文本框
  • 在属性窗口中切换到「事件」面板(点击闪电图标)
  • 找到SelectionChanged事件,双击它自动生成事件处理方法
  • 在生成的方法里调用你的UpdateRowColStatusBar()函数

生成的代码示例:

private void TextBody_NotepadNoteEditor_SelectionChanged(object sender, EventArgs e)
{
    UpdateRowColStatusBar();
}

为什么之前的Click事件无效?因为当文本框已经获得焦点时,再次点击内部位置不会触发Click事件,而SelectionChanged会捕捉所有光标位置变更的场景,更适配记事本状态栏的更新需求。

另外,你已经在TextChanged事件里调用了更新方法,现在加上SelectionChanged事件后,就能覆盖文本修改、光标移动这两类需要更新状态栏的场景了。

内容的提问来源于stack exchange,提问作者Om Khadka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:01:09