用tabcontrol设计wizard;Textbox提示输入

昨天去百度了一下如何做wizard,有人说用一个一个的Form,有人说用tabcontrol。我觉得用tabcontrol比较好,页面容易管理。于是继续百度tabcontrol,发现有很多人纠结如何把上面的标签栏去掉。方法五花八门,主要是在tabcontrol上做文章,什么item的size设置小一点,自己绘制,等等。但是有个人的一句话说的很简单,直接用一个panel把它上面的标签栏遮住不就行了。我就用的这个方法,很实用。这

 

就说明,有很多时候想问题要会变换思路,跳出tabcontrol本身去解决tabcontrol的问题,思维很值得借鉴。

 

另外,就是设置next,previous按钮的问题,还有tabcontrol切换时的问题,这个时候就需要我前面说的分析问题。我的思路是这样,当点击next按钮的时候,首先完成当前页面控件内的一些工作,比如保存数据等等,然后设置按钮(比如最后一步next要变成finish),而后切换tabcontrol。当点击previous按钮的时候,首先设置按钮(比如第一个页面没有previous按钮),而后切换tabcontrol。

 

在tabcontraol的selectedindexchanged事件里面处理初始化的工作,相当于一个Form的Load。当然,为了保证页面能够正常显示,在进行耗费时间的Load工作之前,可以用Application.DoEvents()把程序交给操作系统。。

 

------------

在Codeproject上找了一下textBox用灰色文字提示的做法。主要是在OnLeave和OnEnter中,并且设置一个InnerText(string)来表示实际的数据字符串,HintText(string)来表示提示字符串。

OnEnter:

1 设置Forcolor为正常的显示颜色;

2 if string.IsNullOrEmpty(InnerText) Text="" else Text=InnerText;

OnLeave:

if string.IsNullOrEmpty(Text) {Text=HintText;ForeColor=灰色;InnerText="";} //如果没有输入,就还原为提示状态

else {ForeColor=正常颜色;InnerText=Text;}

初始化:

Text=Hinttext;ForeColor=灰色。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值