VS2005中如何隐藏TextBox中的输入光标啊?

拼命三朗 2007-04-29 09:16:58
在VS2003中使用以下代码可以实现
Declare Function HideCaret Lib "user32" Alias "HideCaret" (ByVal hwnd As Long) As Long
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
HideCaret(Me.TextBox1.Handle.ToInt64)
End Sub
可以转到2005中后,
HideCaret(Me.TextBox1.Handle.ToInt64)
这句发生错误,信息为
检测到 PInvokeStackImbalance
Message: 对 PInvoke 函数“HideCaret”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。

这是怎么回事啊????
...全文
413 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
拼命三朗 2007-04-30
  • 打赏
  • 举报
回复
cbbcard(波比) 正解!
cbbcard 2007-04-30
  • 打赏
  • 举报
回复
Declare Function HideCaret Lib "user32" Alias "HideCaret" (ByVal hwnd As IntPtr) As Long
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
HideCaret(Me.TextBox1.Handle)
End Sub

兔子-顾问 2007-04-29
  • 打赏
  • 举报
回复
不知道如何做。我试的也是如此。
兔子-顾问 2007-04-29
  • 打赏
  • 举报
回复
ToInt32 ?
如果你64位系统才可以用ToInt64吧

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧