Foxtable(狐表)用户栏目专家坐堂 → 控件水印相关


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

主题:控件水印相关

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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
控件水印相关  发帖心情 Post By:2021/4/30 10:19:00 [显示全部帖子]

老师,之前水印,一直用的班长的方法,刚刚群里面的方法是:

e.Form.Controls("项目名称").BaseControl.DisplayFormat.NullText="请输入项目名称"

但是需要每个窗口都去设置,有点不方便

有没办法通过全局变量来定义,比如所有窗口中,控件名称为:项目名称 ,水印提示都为:请输入项目名称


 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/4/30 11:08:00 [显示全部帖子]

用班长的这个方法有没办法在全局变量里面定义所有名称为“项目名称”的控件,都显示水印呢?

 

全局代码如下:

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

 

窗口加载后代码如下:

SetWatermark(e.Form.Controls("项目名称"),"请输入项目名称")


 回到顶部