【问题标题】:Change Caret colour or hide it VB.NET更改插入符号颜色或隐藏它 VB.NET
【发布时间】:2011-09-13 01:12:25
【问题描述】:

我正在 VB.NET 中制作程序,需要在文本框中隐藏插入符号。

我可以忍受它要么完全隐藏,要么与文本框背景颜色相同。我该怎么做呢?如果可能的话,我宁愿远离自定义控件。

谢谢

【问题讨论】:

  • WinForms、Silverlight 还是 WPF?
  • @SLaks 我必须在 VB.NET 中制作游戏,并且我让玩家能够控制多个角色。最简单的方法是使每个字符成为一个 TextBox,然后处理它们的 KeyPress 事件。这样每个玩家都可以单独移动,并且可以通过 TAB 键或单击它们来选择它们。
  • @ Daniel A. White WinForms。抱歉,我一直忘记说明
  • @Daniel A. White 谢谢!

标签: vb.net winforms textbox


【解决方案1】:

向您的项目添加一个新类并粘贴如下所示的代码。编译。将新控件从工具箱顶部拖放到表单上。

Public Class NoCaretBox
  Inherits TextBox

  Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
    HideCaret(Me.Handle)
    MyBase.OnGotFocus(e)
  End Sub

  Protected Overrides Sub OnLostFocus(ByVal e As System.EventArgs)
    ShowCaret(Me.Handle)
    MyBase.OnLostFocus(e)
  End Sub

  Private Declare Function HideCaret Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean
  Private Declare Function ShowCaret Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean
End Class

【讨论】:

猜你喜欢
  • 2013-08-28
  • 2012-09-04
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 2012-07-21
  • 2022-01-22
相关资源
最近更新 更多