(1). 对齐快捷键:Crtl+k+d 注意:在代码没报错情况下使用
(2). 反转字符串数组
(3). 转换成char数组 方法: toCharArray();
(4). 转换成字符串 string str=new string(字符数组);
(5). 计算代码执行时间
Stopwatch sw = new Stopwatch();
sw.Start();
//要计算的语句
sw.Stop();
TimeSpan ts2 = sw.Elapsed;
Console.WriteLine("Stopwatch总共花费{0}ms.", ts2.TotalMilliseconds);
(6). 绘图
画线、画椭圆、画三角、
画图三要素:绘图对象(纸)、笔、点
创建绘图对象:
Graphics gh = this.CreateGraphics ();
创建两个点对象:
Point pt1 = new Point(int x,int y);
Point pt2 = new Point(int x,int y);
创建一个笔对象:
Pen p = new Pen(Color.颜色,size);
设置头线冒为圆角和尾线冒三角
笔的对象.StartCap = LineCap.Round;
笔的对象.EndCap = LineCap.Triangle;
消除抗锯齿
绘图对象.SmoothingMode = SmoothingMode.HighSpeed;
画图
绘图对象.Draw形状(parameter);
(7). label标签属性
字体颜色:label1.ForeColor = Color.Red;
字体样式:label1.Font = new Font(“黑体”, 20, FontStyle.Bold|FontStyle.Italic, GraphicsUnit.World);
1、复习 03day(WebApi)
2、方法是对象.出来的
函数是调用的
3、addEventListener()和attachEvent()绑定事件的区别
相同点:都可以为元素绑定事件不同点: 1、方法名不一样 2、参数个数不一样 3、addEventListener 谷歌、火狐、IE11支持、IE8不支持 attachEvent IE8支持 IE11不支持 4、this不同,addEventListener 中是当前绑定事件的对象 attachEvent 中的this是winodw5、addEvenListener中的事件类型(事件名字没有on) attachEvent中的事件类型(时间名字)有on
4、三种元素解绑事件
1、 对象.on事件名=null; ----->解绑事件
2、 对象.removerEventListener("事件名",命名函数,false); ------->解绑事件
3、 对象.deachEvent("on"+事件名,命名函数); ------->解绑事件
5、事件冒泡
多个元素嵌套,有层次关系,这些元素都注册了相同的事件,
如果里面的元素的事件触发了,外面的该事件自动触发了
如何阻止冒泡事件:
window.envent.cancelBubble=true; IE特有的,谷歌支持,火狐不支持
e.stopPropagation(); 谷歌和火狐支持,IE8不支持
6、事件的阶段
事件有三个阶段
1—>事件捕获阶段:从外向内
2—>事件目标阶段:最开始选择的那个
3—>事件冒泡阶段:从内向外
通过e.eventPhase这个属性可以知道当前的事件是什么阶段的
如果这个属性的值是:
1---->捕获阶段
2---->目标阶段
3---->冒泡阶段
一般默认都是冒泡阶段,很少用捕获阶段
冒泡阶段:从里向外捕获阶段:从外向内
1、为同一个元素绑定多个不同的事件执行同一个事件处理函数
示例:跟type属性值的事件名是没有on的,这是标准
my$("btn").onclick = f1;
my$("btn").onmouseover = f1;
my$("btn").onmouseout = f1;
//事件参数对象
function f1(e) {
switch (e.type) {
case "click":alert("哈哈我好帅");
break;
case "mouseover":this.style.backgroundColor="red";
break;
case "mouseout":this.style.backgroundColor="";
break;
}
}
2、键盘抬起事件、百度搜索大项目
3、BOM((操作浏览器的顶级对象)
4、页面加载事件
window.onload=事件处理函数; 只要页面加载完毕,这个事件就会触发----页面中所有的内容,标签、属性、文本,包括外部引入JS文件
5、location对象
设置跳转页面
location.href="http://www.jd.com";//属性
6、history对象和navigator对象
1、history对象、跳转页面、前进、后退的
2、navigator对象、通过userAgent可以判断浏览器类型,重要
1、复习
2、起别名
3、查询n部分***数据 top n 字段名****
**4、排序: order by asc/desc **
5、消除重复行(去重),distinct
6、between、判断在数值之间的值
语法:
where 字段 betwent 范围值1 AND 范围值2
1、表的约束
2、约束的分类
1、主键约束:primary key 2、外键约束:foreign key 3、默认约束:default
4、唯一约束:unique 5、检查约束:check 6、非空约束:not null
3、外键约束关键字:foreign key
constraint 外键名 foreign key(字段) references 表名(列名)
4、定时器、清理定时器
setInterval( fn, 1000); //定时器
clearInterval(id值); //清理定时器
1、猜拳游戏
石头:1
剪刀:2
布: 3玩家出:石头 电脑出:剪刀 玩家赢
1 - 2 -1
剪刀 电脑出:布 玩家赢
2 3 -1
布 电脑出:石头 玩家赢
3 1 2思路:玩家类,有个方法根据,点击按钮的文本参数,返回对应的值
电脑类,有个方法根据,创建随机数对象生成随机数、根据:随机数
给一个属性赋值对应的文本,返回对应的随机数
裁判类,有个方法,有两个参数(玩家类、电脑类),这个两个类返回的
对应的值,根据对应的值,进行判断,返回一个字符串,谁谁赢了
2、查看默认的访问修饰符
(1):通过右键项目查看类图,可以看类、字段、方法
(2):通过反编译器查看
3、索引器
索引器可以重载
1、封装:相当于遥控器,你不需要了解遥控器的
内部是怎么构造的,你只需要会用就可以了,不用了解内部是怎么实现的
2、继承:解决代码重复、冗余
3、this的两种用法
1、调用当前类的对象
2、调用构造函数:解决构造函数重载代码冗余
4、protected修饰符
只能在子类内部和当前类内部使用
可以在所有子类内部访问:传递性
1、虚方法:virtual 表示:此方法可以被子类重写
override:表示重写父类的此方法
2、画多边形:绘图对象**.**FillPolygon(刷子,点);
3、擦除背景色:绘图对象.Clear( this. BackColor);
4、磁盘格式
MBR 主引导分区 最大支持:2TB 4个主分区 主引导程序分区表
GPT GUID分区表 几乎无限大 128主分区 分区和备份分区表
Bois---->boot mode---->UEFI :主板磁盘是GPT 格式
5、文件系统格式
NTFS :可以支持最大64G的单个文件和2048G的分区
FAT32:最大32G:一般用于U盘 单个文件最大支持4G(实际可能3G)
1、模糊查询
LIKE:一般搭配通配符使用 :like % _ [] ^
2、null的判断
使用is null或is not null,与其它值计算时返回null,排序时null被认为是最小
3、优先级
优先级:小括号,not,比较运算符,逻辑运算符
4、连接查询
当需要的结果从多张表中取时
5、百度搜索项目
1、首先给需要给搜索框一个键盘抬起事件,声明一个临时数组
2、获取当前输入的文本,遍历数组,判断文本在数组元素中的索引是否为0,将当前元素追加到临时数组
3、判断临时数组中是否存在元素并且文本长度不等于0
创建一个div元素,追加到父级元素中
4、循环遍历临时数组,创建p元素将临时数组元素追加到p标签当中
最后并将创建的p元素追击到div当中
5、在最开始键盘抬起事件下判断下是否存在div元素,移除div
元素
6、复习(04day) Javascript
7、CSS不透明属性:opacity : 0.5;
8、所有在style标签的属性的属性值:是获取不到的
1、封装动画函数、移动元素
function animation(element,target){
//首先清理定时器
clearInterval(element.timeId);
element.timeId=setInterval(function(){
//首先获取当前元素的left值
var current = element.offsetLeft;
//要移动的像素数
var step = 10;
//判断当前位置小于目标位置返回正数、否则返回负数
step = current < target ? step : -step;
//移动后的位置
current += step;
//判断目标距离-当前距离,不管得到的是正数负数,只要大于要移动的像素数
if(Math.abs(target-current) > Math.abs(step) ){
element.style.left = current + "px";
}else{
clearInterval(element.timeId);
element.style.left = target + "px";
}
},20)
}
2、马克飞象表格
表格:
语法:
| 列名 | 列名 |
1、封装动画函数
function(element,target){
}
2、克隆元素
参数1:true是完全克隆、包括属性、id· false是不包括属性值、id···
返回值:是该对象的元素
需要克隆的对象/元素.cloneNode(true);
1、好奇是督促人类进步最重要的动力
2、轮播图总结
1、首先获取元素,需要用得到所有元素
2、根据有多少图片,创建多少个小按钮,添加自定义属性:索引值
3、追加到父级元素当中,给每个元素注册一个鼠标进入事件(排他功能)
4、先移除所有类样式,当前应用类样式,并声明一个全局变量,接收
当前按钮的索引值,移动该元素( - 当前索引 * 相框的宽)
5、默认让第一个按钮有背景颜色
6、因为要做无缝效果,克隆ul下的第一张图片,追加到最后一张
7、设置鼠标进入盒子显示箭头,鼠标离开不显示箭头
8、给显示右箭头注册一个点击事件
8.1、判断条件、判断当前索引如果等于等于ul的所有li的length-1,(就是当了最后一张图片),设置全局变量索引为0,并设置整个ul的left值为0
移动元素(ulObj,-index * imWidth)
8.2、i++.判断如果全局索引等于等于ul下的所有li,把第五个按钮颜色类样式干掉,并设置第一个按钮类样式,否则for干掉所有类样式,并设置当前索引的按钮为类样式
9、给显示左箭头注册一个点击事件
9.1、如果全局索引等于等于0,给索引值为5,并设置ul的left值为:第六张图片位置( -index * 相框宽的 + “px”)
9.2、移动元素,(ulObj, -index * imWidth);
for循环移除所有类样式,并设置当前索引的按钮为类样式
3、阶段:
第一阶段:获取元素
第二阶段:创建元素,添加自定义属性
第三阶段:鼠标进入当前按钮移动整个ul,当前 -索引值*相框宽度
第四阶段:默认让第一个按钮,应用类样式
第五阶段:鼠标进入盒子,显示箭头
第六阶段:克隆ul下的第一个li元素,并追加到ul下
第七阶段:点击右箭头,判断如果当前的索引是最后一张图片的
重新赋值index为0,并设置ul的left值为第一张图片
第八阶段:点击左箭头,判断如果当前的索引是第一张图片的
重新赋值index为5,并设置ul的left值为第六张图片
1、以后获取元素的宽和高,应该使用offset系列来获取
对象的属性 | 返回值 |
---|---|
offsetWidth | 元素的宽 |
offsetHeight | 元素的高 |
offsetLeft | 距离左边的为位置 |
offsetTop | 距离上边的为位置 |
2、offsetLeft的注意事项
子级元素:
没脱离文档流offsetLeft:
父级元素的margin + 父级元素的padding + 父级元素的border + 自己的margin
脱离文档流offsetLeft: 自己的margin + 自己的left
3、document获取元素
4、获取鼠标当前的x坐标、y坐标,就是left、top值
事件参数对象e.clientX/Y
返回值:当前鼠标的X/Y坐标
1、C#屏保思路:
1、声明一个全局的随机书对象,声明一个int全局变量i、j、初始值10
2、在计时器事件:随机生成三个随机数,设置label的前景色是三个随机数(FromArgb)
3、每次计时器事件滴答一下,让label的left+=i,让label的top+=i
4、判断如果标签出去
if (label1.Top < 0 || label1.Bottom > this.Height) { j = -j; } if (label1.Right > this.Width || label1.Left < 0) { i = -i; }
2、drawstring,画字符串
3、fontDialog字体对话框控件
fontDialog.属性/方法 | 返回值/功能 |
---|---|
.ShowDialog() | 弹出字体对话框 |
.ShowApply | bool、字体对话框是否包含应用 |
.ShowColor | bool、是否有选择颜色 |
if (fontDialog1.ShowDialog() == DialogResult.OK)
{ //判断字体对话框的返回值 == 结果是否是ok(确定)
textBox1.ForeColor = fontDialog1.Color;
textBox1.Font = fontDialog1.Font;
}
4、MessageBox参数
参数1:弹出框内容 参数2:标题 ······
MessageBox.Show(“NBA到囧”,“标题”,MessageBoxButtons.YesNo,MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2,MessageBoxOptions.RightAlign,“1.txt”);
5、随机验证码
随机5位数验证码,随机颜色、随机数字、随机字体