随笔5

泪湿孤枕 提交于 2020-02-13 16:14:47
随笔5 2009-02-13 16:28 (分类:工作资料)

***************************************

2月13  windows应用程序WinForm
****************************************
宿主程序:

WinForm是.Net开发平台中对Windows Form的一种称谓。.Net 为开发WinForm的应用程序提供了丰富的Class Library(类库)。这些

WinFrom 类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms。在此名

称空间中定义了许多类,在开发基于.Net的GUI应用程序的时候,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。

**类似于java中的GUI,但是可以拖动按钮,比java方便很多**
分部类:类的合并
--------------------------------------------
 //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(184, 52);
            this.button1.Name = "Test";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 0;
            this.button1.Text = "Test";
            this.button1.UseVisualStyleBackColor = true;
//事件的连接,使用代理
            this.button1.Click = new System.EventHandler(this.button1_Click);
对于一对多的关系时使用代理: 四个按钮使用一个button1_Click的事件
sender:按钮是sender
textBox:acepter 
private void button1_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = this.button1.Text;
        }
--------------------------------------------
@窗体设计的原则:
先容器再控件,先大后小。先左后右
@控件的命名原则:面向对象编程的一种机制,类
注意变量要小写 ,操作后面加动词,属性后面加名词
Button--〉小写的btn   btnAdd-->btnTeaAdd(中间为窗体的名字)  btnEnter   btnCheck  btnQuery
TextBox--〉txt   txtName
Pannel--〉pan  panStu
MenuItem--〉mnu
窗体的命名:
--------------------------------------------
添加菜单:
在控件中添加子窗体:
将txtBox中的属性tabIndex值1更改,则按Tab键起作用
验证用户输入
--------------------------------------------
类库和窗体控制库(添加自定义的控件)
--------------------------------------------
建一个类库,导入using System.Drawing;using System.Windows.Forms;并添加引用
在Form.cs中添加选择项

--------------------------------------------
复合控件composite controls:

**********异步程序的设计模式(与委托同样重要)**********
 Callback Function
  什么是回调函数?
  回调函数是应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件。应用程序把回

调函数的地址指针告诉DLL,而DLL在适当的时候会调用该函数。回调函数必须遵守事先规定好的参数格式和传递方式,否则DLL一调用它就

会引起程序或系统的崩溃。通常情况下,回调函数采用标准WindowsAPI的调用方式,即__stdcall,当然,DLL编制者可以自己定义调用方

式,但客户程序也必须遵守相同的规定。在__stdcall方式下,函数的参数按从右到左的顺序压入堆栈,除了明确指明是指针或引用外,参数都

按值传递,函数返回之前自己负责把参数从堆栈中弹出。
  理解回调函数!
  程序在调用一个函数(function)时(通常指api).相当于程序(program)呼叫(Call)了一个函数(function)关系表示如下:
  call(调用)
  program --------------------→ dll
  程序在调用一个函数时,将自己的函数的地址作为参数传递给程序调用的函数时(那么这个自己的函数称回调函数).需要回调函数的

DLL 函数往往是一些必须重复执行某些操作的函数.关系表示如下:
  call(调用)
  program --------------------→ dll
  ↑ ¦
  ¦_______________________________¦
  callback(回调)
  当你调用的函数在传递返回值给回调函数时,你就可以利用回调函数来处理或完成一定的操作。至于如何定义自己的回调函数,跟具体使用

的API函数有关,很多不同类别的回调函数有各种各样的参数,有关这些参数的描述一般在帮助中有说明回调函数的参数和返回值等.其实简单

说回调函数就是你所写的函数满足一定条件后,被DLL调用!
  也有这样的说法(比较容易理解):
  回调函数就好像是一个中断处理函数,系统在符合你设定的条件时自动调用。为此,你需要做三件事:
  1. 声明;
  2. 定义;
  3. 设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便于DLL调用。

-------------------------------------------------------------------------------------
结束异步调用的方式:
@上传文件可以使用回调函数,但是查询不可以用回调方式。使用委托
@轮回
@调用EndOperation : 阻塞
@等待一个句柄
-------------------------------------------------------------------------------------
ref 不丢值

***复合控件 和异步很重要***
*******************************************************************

*******************************************************************
数据库SQL Server2005

目的:独立的设计数据库
设计原则:

范式:
1NF:数据库表的一列不可再分成二列或多列(主键唯一)

保证数据的完整性,即保证数据是可达的。(使用主外键)
外键是关联键,必须依赖另一张表的主键而存在。

第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决

定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。

  假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关

系:

  (学号, 课程名称) → (姓名, 年龄, 成绩, 学分)

  这个数据库表不满足第二范式,因为存在如下决定关系:

  (课程名称) → (学分)

  (学号) → (姓名, 年龄)

  即存在组合关键字中的字段决定非关键字的情况。

  另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。

  第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传

递函数依赖,指的是如果存在"A rarr; B rarr; C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:

安装SQL server2005版
服务器类型:数据库引擎
服务器名称:可以是默认的名称,也可以是同一个网络的IP地址
身份验证:
用户名
密码
访问同一个网络的另一台机子要注意以下几点:
1 。要访问电脑的windows防火墙关闭
2。SQL Server2005 外围应用适配器 --〉服务和连接的外围应用适配器--〉数据库引擎中的远程连接选用:本地连接和远程连接
停止一下服务,再重启服务
3。进入SQL Server2005 将服务器身份选中windows 和Sql server验证。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!