Winform开发框架主界面设计
做了好多年Winform的程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计总是会精益求精,力求做到更好用、更美观,这样才能吸引客户使用。
目前的主体界面设计,可以使用很多控件进行美化,这样能使得开发者能够迅速开发好美观的界面,也可以使得界面总体性有一个统一、规范的基准。一般推荐使用DevExpress或者DotNetbar这两款界面控件套件,他们都能设计出类似Office的Ribbon界面,这种界面整体感觉会比较好一些。
1、标准的DevExpress样式界面
在我的Winform开发框架中,也分为了传统性界面、DotNetBar样式界面、DevExpress样式界面这三种,根据不同的开发场景进行使用,如果是历史性原因导致,那就根据需要选择,如果是新的程序开发,那么建议采用DevExpress样式的界面,这种界面样式,经过我这几年的开发应用了解,觉得真的非常棒,非常强大,基于Dev样式的《Winform开发框架》主体界面设计如下所示。
这个主体界面是Ribbon样式的界面,它分为了几个部分,我从顶部开始到下面进行介绍。
1)、顶部样式选择
DevExpress控件可以将窗体的空间运用到极致,很多细微的地方都可以用起来。在开发的应用程序中,增加这个样式选择,也会使客户觉得这个程序开发也是非常专业的(^_^)。
2)、主程序菜单
在Ribbon样式中,添加这种样式的主程序菜单,比增加一个顶部的MenuBar来的好看,这也是标准的Office程序的Ribbon样式菜单,我们可以在里面添加各种层级的菜单,如下面是一个简单的退出和重登录菜单。
3)、主界面帮助小按钮
主界面的右边可以放置一些小按钮,如在程序中放置一个帮助小按钮,用来给客户提供帮助或者技术支持的网址链接,都是不错的选择。
4)、Ribbon样式分组按钮
在我的Winform开发框架中,通过图文并茂的功能按钮,可以使得整个程序看起来更加美观,选取合适的按钮图标,更加可以提高客户的认同感,Ribbon样式的分组按钮,可以增加更多的功能菜单,也可以进行更合适的归类管理。
5)、多文档界面布局
现在的程序,一般录入或者查看的资料都会很多,程序尽可能保持客户的查看的窗口状态,以便更好的参考和对比,因此多文档界面就是一个非常合适的选择,如下界面所示。
6)、底部状态栏
底部菜单可以让客户更好了解程序的一些相关信息,如程序名称、登陆用户,日期,以及程序处理进度等方面的信息。
2、Winform开发框架的扩展性界面样式
以上就是标准的框架界面,有时候我也会根据需要给客户设计一些不同的界面样式,如我的标准Winform开发框架界面,还可以扩展为下面的界面风格(适用于界面功能比较多的情况)
这种界面方式,通过结合Ribbon功能和NaviBarControl的方式,实现更多功能的展示,如果必要,可以根据Ribbon的按钮,展开左边的NavibarControl的相关的模块内容。
上面界面的Ribbon按钮图标,在界面功能比较多的时候,还可以以小图标按钮方式进行展示,这样一个区域可以包含更多的功能按钮,如下所示。
主程序的菜单可以分级展示,如二级菜单可以进一步展开更多的菜单,如下所示。
对于一些传统布局的界面,我们还可以通过如下的人力资源管理系统界面进行展示,这种界面比较适合功能点比较多的界面,这种可以通过树形菜单进行打开操作具体的模块界面。
以上就是这几种Winform界面样式的设计思路和展示,希望对大家有启发帮助。
memcache总结
1简介:
Memcache(内存缓存) 是一个高性能的分布式的内存对象缓存系统。通过在内存里维护一个巨大的hash表。
其实简单说点就是一个软件,可以用来维护内存,将数据在内存中使用,减少I/O
2工作原理:
memcached是以守护程序方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。
3安装:
windows下安装:
Memcahced.exe -d install [uninstall]
linux下安装
由于是基于libevent事件,因此需要先安装libevent
安装libevent时
./configure –with-libevent=/usr
Make && make install
安装memcached
./configure –with-libevent=/usr
Make && make install
4使用telnet命令操作memcached
telnet 127.0.0.1 11211
成功连接后,回车两次就可以进行操作了。
6在php.ini文件中开启memcached扩展
extension=php_memcache.dll
下面代码是使用php连接memcache中的小实例
<?php $mem=new Memcache; $mem->connect('localhost',11211); $mem->add('mystr','this is a memcache test!',MEMCACHE_COMPRESSED,3600);//增加一个条目到缓存服务器 $mem->set('mystr','this is another test!',MEMCACHE_COMPRESSED,3600); $mem->add('myarr',array('aa','bb','cc')); echo$mem->get('mystr'); //print_r($mem->get('myarr')); class Person{ public $name='123'; function test(){ echo "this is a test"; } } $p=new Person; $mem->add('myobj',$p); var_dump($mem->get('myobj')); echo "<br/>"; echo $mem->getversion(); echo "<br/>"; echo "<pre>"; print_r($mem->getstats()); echo "</pre>"; $mem->close();
ps:$mem->add()第四个参数是指定过期时间,如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)。
在面试题中见到一个是设置31天,这个参数就不能写成$mem->add(,,,31*24*3600),而应写成$mem->add(,,,time()+31*24*3600)