Foxtable(狐表)用户栏目专家坐堂 → 关于TextBox的预期值的提示


  共有1938人关注过本帖树形打印复制链接

主题:关于TextBox的预期值的提示

帅哥哟,离线,有人找我吗?
洮沙
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:6891 威望:0 精华:0 注册:2017/8/31 12:07:00
  发帖心情 Post By:2023/4/19 10:03:00 [显示全部帖子]

也不知是哪位狐友发布的,搬来用,效果还行:


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20230419100150.png
图片点击可在新窗口打开查看


'全局代码定义文本控件提示信息显示
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As IntPtr, ByVal lParam As Byte()) As Integer
Public Const EM_SETCUEBANNER As Integer = &H1501
Public Sub SetWatermark(wTextBox As winform.textbox, str As String)
SendMessage(wTextBox.BaseControl.Handle, EM_SETCUEBANNER, IntPtr.Zero, System.Text.Encoding.Unicode.GetBytes(str))
End Sub
Public Sub SetWatermark(wComboBox As winform.ComboBox, str As String)
SendMessage(wComboBox.BaseControl.Handle, EM_SETCUEBANNER, IntPtr.Zero, System.Text.Encoding.Unicode.GetBytes(str))
End Sub


’窗口Afterload设置
SetWatermark(e.Form.Controls("DBname"), "请选择账套")
SetWatermark(e.Form.Controls("UserName"), "请选择用户")
SetWatermark(e.Form.Controls("PassWord"), "请输入密码")

使用过程发现一个问题,打开窗口后如果焦点在文本框,那么这个文本框默认提示信息失效,可以设置打开窗口将焦点设为其他控件;如果窗口只有以上3个文本框,变通方法为加入一个标签控件(文本为空),并设置打开窗口将焦点设为此控件。
e.Form.controls("Label1").Select 

完美解决!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


[此贴子已经被作者于2023/4/19 10:21:21编辑过]

 回到顶部