如何获得控件';ASP.NET VB项目中的句柄?
我想为我的ASP:TextBox控件添加提示/水印,以获得更好的用户体验,并且遇到了非常好的提示提供程序,它有VB调整的版本,遗憾的是我无法编译 我的课程如下如何获得控件';ASP.NET VB项目中的句柄?,asp.net,vb.net,webforms,Asp.net,Vb.net,Webforms,我想为我的ASP:TextBox控件添加提示/水印,以获得更好的用户体验,并且遇到了非常好的提示提供程序,它有VB调整的版本,遗憾的是我无法编译 我的课程如下 #Region "Imports" Imports System.Runtime.InteropServices #End Region Public Class Watermark <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> P
#Region "Imports"
Imports System.Runtime.InteropServices
#End Region
Public Class Watermark
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
Private Shared Function SendMessage(ByVal hWnd As HandleRef,
ByVal Msg As UInteger,
ByVal wParam As IntPtr,
ByVal lParam As String) As IntPtr
End Function
Public Shared Sub [Set](ByVal ctl As Control, ByVal hintText As String)
Const EM_SETCUEBANNER As Int32 = &H1501
Dim retainOnFocus As IntPtr = New IntPtr(1)
Dim msg As Int32 = EM_SETCUEBANNER
SendMessage(New HandleRef(ctl, ctl.Handle), msg, retainOnFocus, hintText)
End Sub
End Class
#地区“进口”
导入System.Runtime.InteropServices
#末端区域
公共类水印
专用共享函数SendMessage(ByVal hWnd作为HandlerRef,
ByVal Msg作为UInteger,
ByVal wParam作为IntPtr,
ByVal lParam(作为字符串)作为IntPtr
端函数
公共共享子集合(ByVal ctl作为控件,ByVal hintText作为字符串)
常量EM_SETCUEBANNER为Int32=&H1501
Dim RETAINOFOCUS As IntPtr=新IntPtr(1)
Dim msg As Int32=EM_SETCUEBANNER
SendMessage(新HandleRef(ctl,ctl.Handle),msg,retainOnFocus,hintText)
端接头
末级
编译失败发生在新HandleRef(ctl,ctl.Handle)
上,第二个参数显然不是有效的属性
如何获取传入UI控件的windows句柄?您找到的代码适用于windows窗体,但您正在开发ASP.NET Web窗体应用程序。因此,这是不恰当的。无法在ASP.NET中获取窗口句柄 我相信你想要的是一个占位符
太好了,这是我应该做的。非常感谢,谢谢!