WinForm"搜索提示效果(不错的)实现" 之 配餐系统的开发
2011-01-15 23:06
579 查看
与"窗体加载闪烁处理、无边框窗体的移动" 之 配餐系统的开发 这篇文章一样,本文还是将 配餐系统开发中的经验与大家一起分享和交流,或者说是‘抛砖引玉’——希望有朋友能提出更好的建议或方法。好了,切入正题,本文所要说的'搜索提示效果' 就是搜索引擎网站和很多网站中的搜索——搜索关键词提示效果,这种效果在网站(web项目)中很常见,也容易实现,而在这里要说的是在winform(桌面应用程序)中实现。
winform中实现'搜索提示' ,我们在动手做之前,大概会有以下几点考虑:1.用什么控件用来做 搜索提示框——而且好用 易实现 比较美观(This is point!!!)。2.考虑如何实现 搜索提示框的定位显示 和 在搜索文本框的哪些事件中 做相应的处理——搜索提示框的显示或隐藏(这个就简单了)。 只针对 第一点说明:我们可能会有以下的选择:用textBox,listBox,DataGridView...做为 搜索提示框,其中用 textBox实现——其有类似的属性(如:图1),但无论是功能或效果都不怎么好,具体应用可以上网查,这里就不再叙述。
代码
看 图片和代码,已经很清楚了,用到dgvSwShow(搜索提示框) CellMouseEnter 和 CellMouseLeave事件——实现 颜色切换,搜索输入框 txtKey 的keyUp事件。好了,到此为止,有不清楚的朋友,可留言或QQ交流,希望大家多提意见!
winform中实现'搜索提示' ,我们在动手做之前,大概会有以下几点考虑:1.用什么控件用来做 搜索提示框——而且好用 易实现 比较美观(This is point!!!)。2.考虑如何实现 搜索提示框的定位显示 和 在搜索文本框的哪些事件中 做相应的处理——搜索提示框的显示或隐藏(这个就简单了)。 只针对 第一点说明:我们可能会有以下的选择:用textBox,listBox,DataGridView...做为 搜索提示框,其中用 textBox实现——其有类似的属性(如:图1),但无论是功能或效果都不怎么好,具体应用可以上网查,这里就不再叙述。
代码
void dgvSwShow_CellMouseLeave(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > -1) { this.dgvSwShow.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White; this.dgvSwShow.CurrentCell = null; } } void dgvSwShow_CellMouseEnter(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > -1) { this.dgvSwShow.Rows[e.RowIndex].Cells[e.ColumnIndex].ToolTipText = "点击查看食物详细信息!"; this.dgvSwShow.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Orange; this.dgvSwShow.CurrentCell = null; } } void txtKey_KeyUp(object sender, KeyEventArgs e) { string key = this.txtKey.Text.Trim(); if (key == txtStr || string.IsNullOrEmpty(key)) { ShowOrHideTipPanel(false); return; } DataTable dt = ZhiyiHelper.DBHelper.GetTable("select top 8 id,name from tet where " + ZhiyiService.FoodService.GetLikeNameWhere(key) + " order by Id desc"); int swCount = dt.Rows.Count; if (swCount == 0) { IsHideTipPanel_inner(false); this.lblNoSw.Text = " 没有您要的结果哦:)"; } else { this.dgvSwShow.Height = swCount*25; this.dgvSwShow.Location = new Point(0, 0); this.dgvSwShow.DataSource = dt; IsHideTipPanel_inner(true); //取消默认选中第一行 //this.dgvSwShow.ClearSelection(); this.dgvSwShow.CurrentCell = null; } ShowOrHideTipPanel(true); }
看 图片和代码,已经很清楚了,用到dgvSwShow(搜索提示框) CellMouseEnter 和 CellMouseLeave事件——实现 颜色切换,搜索输入框 txtKey 的keyUp事件。好了,到此为止,有不清楚的朋友,可留言或QQ交流,希望大家多提意见!
相关文章推荐
- WinForm"搜索提示效果(不错的)实现" 之 配餐系统的开发
- WinForm"搜索提示效果(不错的)实现" 之 配餐系统的开发
- WinForm"搜索提示效果(不错的)实现" 之 配餐系统的开发
- WinForm"不错的Vista风格水晶按钮"控件使用(附:源码demo) 之配餐系统的开发
- WinForm"DataGridView单元格提示和相关应用" 之配餐系统的开发
- WinForm"立体饼状图实现(附源码示例)" 之配餐系统的开发
- WinForm"不错的Vista风格水晶按钮"控件使用(附:源码demo) 之配餐系统的开发
- WinForm"DataGridView单元格提示和相关应用" 之配餐系统的开发
- WinForm"仿js星形评分效果"控件制作经验分享(原创) 之配餐系统的开发
- WinForm"仿js星形评分效果"控件制作经验分享(原创) 之配餐系统的开发
- WinForm"DataGridView单元格提示和相关应用" 之配餐系统的开发
- WinForm"立体饼状图实现(附源码示例)" 之配餐系统的开发
- [转]WinForm"不错的Vista风格水晶按钮"控件使用(附:源码demo) 之配餐系统的开发
- WinForm"DataGridView单元格提示和相关应用" 之配餐系统的开发
- WinForm"立体饼状图实现(附源码示例)" 之配餐系统的开发
- Winform"窗体加载闪烁处理、无边框窗体的移动" 之 配餐系统的开发
- Winform"窗体加载闪烁处理、无边框窗体的移动" 之 配餐系统的开发
- WinForm"reportViewer(rdlc)报表[列表]的使用(一)(附源码示例)" 之配餐系统的开发
- WinForm"reportViewer(rdlc)报表[列表]的使用(一)(附源码示例)" 之配餐系统的开发
- .net"立体柱状图、滑动块等效果实现" 知易营养健康系统——开发总结