2011-09-13 88 views
1

我正在在VB.NET的程序和需要隱藏插入符文本框。更改插入顏色或隱藏VB.NET

我可以忍受它是要麼完全隱藏或者一樣的顏色作爲文本框的背景顏色。我怎麼能這樣做呢?如果可能的話,我寧願遠離自定義控件。

謝謝

+0

你爲什麼要這麼做? – SLaks

+0

WinForms,Silverlight或WPF? –

+0

http://stackoverflow.com/questions/609927/custom-caret-for-winforms-textbox –

回答

5

添加一個新類到您的項目並粘貼如下所示的代碼。編譯。將新控件從工具箱的頂部拖放到表單上。

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 
+0

只要我想出它的名字是插入符號而不是I-Beam,我就在Google上找到了解決方案。它和你的幾乎一樣,所以我會給你正確的解決方案。 –

+0

(我在這裏找到:http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/d7296516-0a00-405b-b9c8-f6f812c80cfc/) –