binzhouweichao@163.com 今天开始学习C#windows窗体界面设计. 首先说一下类型转换. 参考http://www.csharpwin.com/csharpspace/6848r2307.shtml 以int和double为例. int类型的数据可以隐式转换成double类型,无须特别说明. double类型需要强制显式转换成int类型,需要加强制转换关键字. 可以这样认为,隐式转换的标准是不能丢失数据:强制显式转换是因为在丢失数据的可能性下进行操作的. 这里的int为i…
binzhouweichao@163.com Visual Stutio 2010 C#开发环境 五点作图绘制三角函数,以正弦函数为例,选取一个周期[0, 2π]上的五个特殊的点,也就是横坐标0, π/2, π, 3π/2, 2π这五个点绘制图形,对应的纵坐标为0, 1, 0, -1, 0. 1. 新建Windows窗体应用程序 文件-->新建-->项目,选择Windows窗体应用程序,项目位置和名称自定义. 2. 更改设计文件名称 在右侧解决方案资源管理器中,将默认的Form1.cs改为Tr…
Windows窗体DataGridView控件的性能调优.net 4.5   在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避免一些这方面的开销,避免内存成本高的特性. 你也可以管理的部分或全部数据维护和检索任务自己使用虚拟模式为了定制的内存使用情况. 在这一节中   最佳实践扩展Windows窗体DataGridView控件 描述如何使用 DataGridView 控制,避免了不必要的内存使用和在处理大量数据时的性能损失…
要求: 1.用户名必须为字母. //限定用户名必须为字母 private void txtName_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar >= 'a' && e.KeyChar <= 'z') || (e.KeyChar >= 'A' && e.KeyChar <= 'Z')) { e.Handled = false; } else { MessageBox.Sho…
五子棋的界面设计包括绘制棋盘.绘制棋子及黑白棋轮流落子. 涉及的知识点主要有canvas绘制直线.设置画笔颜色:canvas画圆.填充渐变色 1.绘制棋盘 先设定棋盘的宽.高:然后利用for循环,根据坐标使用context的一些方法来绘制 var drawChessBoard=function(){ for(var i=0;i<15;i++){ //棋盘宽高450,旁白15,间距30 context.moveTo(15+i*30,15);//横线 context.lineTo (15+i*30,…
实例001  带历史信息的菜单 实例说明 在开发图纸管理软件时,要求在菜单上记录用户最近打开的档案或图纸,以方便下次使用.如图1.1所示,单击“文件”菜单下的“打开文件”子菜单,打开需要查阅的图纸.下次运行该软件时,上次打开的文件名记录到“文件”菜单的历史菜单中,选择该菜单,即可打开相应的图纸文件. 技术要点 要实现保存最近打开的文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的*.ini文件中,系统启动时读取*.ini中的数据建立数组菜单,即可实现显示历史菜单的功能. 注意:要建立…
原文:WPF界面设计技巧(1)-不规则窗体图文指南 初到园子,奉上第一篇入门级教程,请勿见笑. 以往WinForm编程中,实现不规则窗体是有一定难度的,更难的是不规则窗体的边缘抗锯齿及局部透明处理.而现在,WPF的出现使这个问题迎刃而解,使得我们可以轻松.灵活地美化用户界面. 下面就让我们来看看如何实现一个不规则窗体: 首先我们需要借助Microsoft Expression Design 2来进行图形设计.(这里使用Photoshop等传统软件也可以,但是只能利用PNG格式来实现透明,其缺点就…
本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请海涵.(毕竟菜鸟的我暂时还不能把代码写的特别规范) 在学习过程中以日记或者周记的方式记录我遇见的问题和各种学习到的知识以此来巩固,如果有和我一样情况的志同道合的菜鸟,那我们就一起相互交流和学习吧~ 文字记录的错处或者可以优化的地方,如果有大神看见,更希望不吝赐教~ 毕业设计的大概模型是类似QQ的聊天…
核心思想:由于Windows窗体每次都会重绘其窗体背景,所以我们可以通过拦截窗体重绘背景的消息(WM_ERASEBKGND),并自定义方法来实现重绘窗体背景.通过TImage组件也可以实现,但是重写WM_ERASEBKGND消息的效率更高一些,所以还是推荐使用这种方法. (2)声明重绘背景消息响应函数 void fastcall OnWMEraseBkgnd(TWMEraseBkgnd& Msg);  (3)添加消息映射 BEGIN_MESSAGE_MAP //拦截重画背景的事件 MESSAGE…