2019.10.11-2019.10.25(记录日常)

日常打卡:先分析思路

2019.10.11 (c#:绘图、画图、椭圆、timer计时器、label属性)

(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);

2019.10.12 (JS 04day解绑事件、冒事冒泡、事件阶段)

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---->冒泡阶段

一般默认都是冒泡阶段,很少用捕获阶段

冒泡阶段:从里向外捕获阶段:从外向内

2019.10.13 (JS 04day:绑定事件、键盘抬起事件)

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可以判断浏览器类型,重要

2019.10.14 (数据库查询基础)

1、复习

2、起别名

3、查询n部分***数据 top n 字段名****

**4、排序: order by asc/desc **

5、消除重复行(去重),distinct

6、between、判断在数值之间的值

语法:

where 字段 betwent 范围值1 AND 范围值2

2019.10.15(数据库表的约束、JS定时器、)

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值); //清理定时器

2019.10.16(C#、练习题、猜拳游戏)

1、猜拳游戏

石头:1
剪刀:2
布: 3

玩家出:石头 电脑出:剪刀 玩家赢
1 - 2 -1
剪刀 电脑出:布 玩家赢
2 3 -1
布 电脑出:石头 玩家赢
3 1 2

思路:玩家类,有个方法根据,点击按钮的文本参数,返回对应的值
电脑类,有个方法根据,创建随机数对象生成随机数、根据:随机数
给一个属性赋值对应的文本,返回对应的随机数
裁判类,有个方法,有两个参数(玩家类、电脑类),这个两个类返回的
对应的值,根据对应的值,进行判断,返回一个字符串,谁谁赢了

2、查看默认的访问修饰符

(1):通过右键项目查看类图,可以看类、字段、方法

(2):通过反编译器查看

3、索引器

索引器可以重载

2019.10.17(C#、封装、继承)

1、封装:相当于遥控器,你不需要了解遥控器的

内部是怎么构造的,你只需要会用就可以了,不用了解内部是怎么实现的

2、继承:解决代码重复、冗余

3、this的两种用法

1、调用当前类的对象

2、调用构造函数:解决构造函数重载代码冗余

4、protected修饰符

只能在子类内部和当前类内部使用

可以在所有子类内部访问:传递性

2019.10.18(c#、虚方法、绘图、磁盘管理)

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)

2019.10.19(数据库模糊查询、JS(04day作业、百度搜索项目)

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标签的属性的属性值:是获取不到的

2019.10.20(JS、封装动画函数)

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、马克飞象表格

表格:

语法:

|  列名  |  列名  |
2019.10.21、2019.10.22(JS、 动画函数、克隆元素)

1、封装动画函数

function(element,target){
    
}

2、克隆元素

参数1:true是完全克隆、包括属性、id· false是不包括属性值、id···

返回值:是该对象的元素

需要克隆的对象/元素.cloneNode(true);

2019.10.23(JS、轮播图总结)

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值为第六张图片

2019.10.24(JS、offset系列)

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坐标

2019.10.25(C#、验证码、屏保、JS、05day作业完成√)

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()弹出字体对话框
.ShowApplybool、字体对话框是否包含应用
.ShowColorbool、是否有选择颜色
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位数验证码,随机颜色、随机数字、随机字体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值