我想将Cue / Watermarks添加到我的ASP:TextBox控件以获得更好的用户体验,并且遇到了非常好的CueProvider,它具有this VB调整版本,遗憾的是我无法编译。
我的课程如下
#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
编译失败在New HandleRef(ctl, ctl.Handle)
上,第二个参数显然不是有效属性。
如何获取传入UI控件的Windows句柄?
答案 0 :(得分:2)
您找到的代码适用于Windows窗体,但您正在开发ASP.NET Web窗体应用程序。因此不合适。您无法在ASP.NET中获取窗口句柄。
我相信你所追求的是占位符。
$VAR1 = [
'C:',
'Users',
'goudarsh',
'Desktop',
'Perl_test_scripts',
'sample'
];
或者,如果您需要服务器控件,
<input type="text" placeholder="First Name" />