摘要: UI设计时要注意的几个方面不记得是在哪摘的了,转一下设计师在进行UI设计时,总有自己的想法与设计方案,但是,无论是多么创意的设计,在基本的几个方面,还是要遵照以下的几点:软件的智能和记忆功能 1.用户登录界面最好有用户名和ID的记忆,焦点直接定位到密码输入框2.单据录入界面最好有保存和载入默认值的功能3.单据搜索界面可以保存用户自定义的各种搜索条件组合4.用户调整过的GRID的列宽,窗口的位置可以自动记忆5.系统可以根据用户的使用频度对相关功能进行自动的优先级排序6.系统能够记忆不同用户的使用偏好,使用系统的固有模式和常用的自定义设置减少不必要的重复交互 1.减少不必要的各种操作,能够点一次鼠 阅读全文
posted @ 2012-02-22 10:49 让代码飞一会儿 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 原文链接:1.http://www.cnblogs.com/yjmyzz/archive/2009/02/06/1385189.html2.http://www.cnblogs.com/yjmyzz/archive/2009/09/10/1563920.html 阅读全文
posted @ 2012-02-09 11:09 让代码飞一会儿 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 封装: 隐藏数据,提供访问方法继承: is-a关系,在编程时应优先考虑使用聚合has-a的关系多态:基类指针或引用变量调用虚方法,实现在运行时,调用派生类实现的虚方法接口:can-do, 行为约束 实现接口的类被约束必须实现接口指定的方法(行为).面向接口而非实现----抽象类职责单一 阅读全文
posted @ 2012-02-02 15:13 让代码飞一会儿 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 折叠效果 展开效果目标实现上面的效果:知识准备:使用DataGrid的RowDetail显示和隐藏行的展开和折叠效果.RowDetail 默认显示方式有三种:一、Collapsed 及不显示;二、Visible 及一直显示;三、VisibleWhenSelected 及选中行时显示其中VisibleWhenSelected 模式会在选中一行时显示相应的详细信息,但是当更改选中行时,之前选中行的详细信息就会隐藏,而且选中一行后也无法隐藏详细信息(SelectionModel 设置为 Extended ,RowDetailsVisibilityMode 设置为 VisibleWhenSelec.. 阅读全文
posted @ 2012-02-01 16:40 让代码飞一会儿 阅读(946) 评论(0) 推荐(0) 编辑
摘要: wcf+silverlight在部署到IIS上时的步骤1.web程序中添加wcf服务2.sl程序中引用该服务 private void button1_Click(object sender, RoutedEventArgs e) { textBox1.Text = ""; Binding binding = new BasicHttpBinding(); EndpointAddress endpoint = new EndpointAddress("http://localhost:29565/ServiceP... 阅读全文
posted @ 2012-01-16 16:17 让代码飞一会儿 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1.输入一个n ,然后在屏幕上打印出NxN 的矩阵! 例如,输入一个3,则 1 2 3 8 9 4 7 6 5 输入一个4,则 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7#include <iostream> #include <iomanip> using namespace std; void PrintMatrix(int n) { if (n <= 1) { cout << n << endl; return; } //分配空间 int **matrix = new int*[n]; for (in 阅读全文
posted @ 2011-12-21 16:46 让代码飞一会儿 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 设计:1.整个系统 -> 2.划分子系统 -> 3.子系统中的类 -> 4.分解为子程序 -> 5.子程序内部设计设计构造块:启发式方法使用对象进行设计的步骤:1.辨识对象及其属性(方法(method)和数据(data)02.确定对各个对象进行的操作3.确定各个对象能对其他对象进行的操作4.确定对象的可见性 - 公有 私有5.定义每个对象的公共接口反复的迭代执行一致的抽象, 封装实现细节, 当继承能简化设计时就继承信息隐藏:两种秘密-1.隐藏复杂度 2.隐藏变化源找出容易改变的区域:1.找出看起来容易变化的项目 2.把容易变化的项目分离出来(划分为一个类,或者和其他容易 阅读全文
posted @ 2011-08-31 17:16 让代码飞一会儿 阅读(121) 评论(0) 推荐(0) 编辑
摘要: VC include 路径解析今天发现一个不错的帖子。转到自己的博客,收藏。要了解vc中使用#include命令包含头文件所搜寻的路径,必须先了解vc中的几种路径:1. 系统路径系统路径在vc中是"Tools->Options->Directories"中"Include files"指定的路径。打开此对话框会发现默认有这几条路径:C:\Program Files\Microsoft Visual Studio\VC98\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\MFC\INCL 阅读全文
posted @ 2011-08-31 09:14 让代码飞一会儿 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 定义:不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。每个线程中访问临界资源的那段代码称为临界区(Critical Section)每个线程中访问临界资源的那段程序称为临界区(Critical Section)(临界资源是一次仅允许一个线程使用的共享资源)。每次只准许一个线程进入临界区,进入后不允许其他线程进入。不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。 多个线程中涉及到同一个临界资源的临界区称为相关临界区。 线程进入临界区的调度原则是: ①如果有若干线程要求进入空闲的临界区,一次仅允许一个线程进入。②任何时候,处于临界区内的线程不可多于... 阅读全文
posted @ 2011-06-27 17:34 让代码飞一会儿 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一.简介 marshal_as库是一个托管与非托管代码间数据类型的转换模板库. 非托管即本地 C++或C代码二.基本用法1.非托管到托管的字符串转换String^ clrString; const char* pcszHello = "hello world";clrString = marshal_as<String^>(pcszHello); wchar_t* pwszHello = L"hello wide world";clrString = marshal_as<String^>(pwszHello); bstr_t b 阅读全文
posted @ 2011-06-23 12:25 让代码飞一会儿 阅读(495) 评论(0) 推荐(0) 编辑