以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 控件水印相关 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164223) |
-- 作者:cd_tdh -- 发布时间:2021/4/30 10:19:00 -- 控件水印相关 老师,之前水印,一直用的班长的方法,刚刚群里面的方法是: e.Form.Controls("项目名称").BaseControl.DisplayFormat.NullText="请输入项目名称" 但是需要每个窗口都去设置,有点不方便 有没办法通过全局变量来定义,比如所有窗口中,控件名称为:项目名称 ,水印提示都为:请输入项目名称 |
-- 作者:有点蓝 -- 发布时间:2021/4/30 10:32:00 -- 我反馈一下 |
-- 作者:有点蓝 -- 发布时间:2021/4/30 11:01:00 -- 这种用法不是属于水印,是控件空值的时候设置一个显示文本,这个会影响控件text属性,也就是使用e.Form.Controls("项目名称").text会取到设置的内容"请输入项目名称",而不是空的,这个使用的时候需要注意 |
-- 作者:cd_tdh -- 发布时间: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 Sub SetWatermark(wTextBox As winform.textbox,str As String)
窗口加载后代码如下: SetWatermark(e.Form.Controls("项目名称"),"请输入项目名称") |
-- 作者:有点蓝 -- 发布时间:2021/4/30 11:30:00 -- 没有的。窗口不打开,控件就不存在,所以只能在窗口加载里设置 |