请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

credream

中级会员

110

主题

296

帖子

828

积分

中级会员

积分
828

活字格认证

credream
中级会员   /  发表于:2015-11-5 15:15  /   查看:7382  /  回复:9
InputManNETwin4中的Combo控件,只要按下面设置下,即使删除空格后,依然会有这个空格
Me.Combo2.Format = New GrapeCity.Win.Input.MaskFormat("\D", "", "")
Me.cmbTermDiv.PromptChar = Global.Microsoft.VisualBasic.ChrW(32)

而且这时候.TEXT属性会依然有个空格

在InputManWin8中,怎么设置才能实现和InputManNETwin4中一样的效果

9 个回复

倒序浏览
Leo
超级版主   /  发表于:2015-11-5 16:43:00
沙发
回复 1楼credream的帖子

在InputManWin8版本中,和4.0的ComboBox功能更接近(带有MaskFormat)的控件叫做GcMaskedComboBox,你试试这个。
等价代码大致如下我手写的啊,意思一下,编译不过见谅
  1. Me.gcMaskedComboBox1.Fields.AddRange("\D")
  2. Me.gcMaskedComboBox1.PromptChar = Global.Microsoft.VisualBasic.ChrW(32)
复制代码

评分

参与人数 1金币 +999 收起 理由
Alice + 999 奖励金币

查看全部评分

回复 使用道具 举报
credream
中级会员   /  发表于:2015-11-5 21:10:00
板凳
回复 2楼Leo的帖子

感谢。。。大神
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-6 09:33:00
地板
回复 3楼credream的帖子

不用客气。
您可以关注我们的微信服务号(微信号:GrapeCityDT),帖子有回复时可即时收到提醒,便于您第一时间查看,尽快解决技术问题。关注即可获得300金币用于兑换礼品。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
credream
中级会员   /  发表于:2015-11-12 11:31:00
5#
回复 2楼Leo的帖子

有两个空格的时候怎么处理啊?
回复 使用道具 举报
Leo
超级版主   /  发表于:2015-11-12 15:14:00
6#
回复 5楼credream的帖子

对不起。我忘记还有默认的Field没有清理了
在那两行Code之前再加上一句:
Me.gcMaskedComboBox2.Fields.Clear();
回复 使用道具 举报
credream
中级会员   /  发表于:2015-11-12 17:19:00
7#
回复 6楼Leo的帖子

加入这句话之后:Me.gcMaskedComboBox1.Fields.AddRange("\D")
编译下会自动生成:
Dim MaskPatternField1 As GrapeCity.Win.Editors.Fields.MaskPatternField = New GrapeCity.Win.Editors.Fields.MaskPatternField()
MaskPatternField1.MaxLength = 1
MaskPatternField1.Pattern = "\D"
我们现在都是这样做的:
一个空格的时候:
  Dim MaskPatternField1 As GrapeCity.Win.Editors.Fields.MaskPatternField = New GrapeCity.Win.Editors.Fields.MaskPatternField()
MaskPatternField1.MaxLength = 1
        MaskPatternField1.MinLength = 0
        MaskPatternField1.Pattern = "\D"
  Me.cmbTicketType.PromptChar = Global.Microsoft.VisualBasic.ChrW(32)

两个空格的时候:主要是两个空格的时候下面这样对不对,会不会有隐式的风险,MinLength = 2
  Dim MaskPatternField1 As GrapeCity.Win.Editors.Fields.MaskPatternField = New GrapeCity.Win.Editors.Fields.MaskPatternField()
MaskPatternField1.MaxLength = 2
        MaskPatternField1.MinLength = 2
        MaskPatternField1.Pattern = "\D\D"
  Me.cmbTicketType.PromptChar = Global.Microsoft.VisualBasic.ChrW(32)


请大神帮忙确认下。。。没有问题,我们就可以在所有处理中这样展开了。。
回复 使用道具 举报
Leo
超级版主   /  发表于:2015-11-12 17:52:00
8#
回复 7楼credream的帖子

MaskPatternField1.Pattern = "\D\D"
这句Code你想做什么?
MaskPatternField1.Pattern = "\D"就可以了啊。
MinLength=2确实可以工作,默认会显示两个PromptChar的占位符,也就是俩空格。
回复 使用道具 举报
credream
中级会员   /  发表于:2015-11-18 10:58:00
9#
回复 8楼Leo的帖子

嗯嗯,\D\D这个的意思是只能输入数字吧?跟填写几个\D没关系对吧?需要两个占位符的时候,只需要把MinLength设置为2就可以了对吧?
回复 使用道具 举报
Leo
超级版主   /  发表于:2015-11-18 12:16:00
10#
回复 9楼credream的帖子

写俩\D会引入不必要的麻烦,需要最少输入两位的时候,请只设置MinLength = 2
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部