1.MD5加密
Md5 md = MD5.Create();
由于MD5是抽象类,无法创建对象,只能通过调用其内置的静态方法来模拟创建对象的过程
md.ComputeHash(byte[]) //只能转字节数组
Byte[i].Tostring() //这样转不会乱吗(Encoding无论经过什么模式的解码都会出现乱码情况)。
注意:toString()括号里面是可以写参数的,会有不同的效果(https://www.cnblogs.com/Leo_wl/p/3196799.html)
最常用的为 tostring(X2) //用两位数表示16进制 比如0A = 10
2.WinForm窗体(二维控件一定会有location等属性)
PS:在查看窗体的时候,工具箱里面才会出现控件
Textbox.focus()//让光标出现在该文本框中
MessageBox.show();弹出文本框,并显示括号内文本内容
单击控件按X,就可以查到所有属性与方法(右上角可以选事件或者属性)
This.Client(用于访问本窗体的属性)
Passwordchar(“”) //让文本框显示单一字符
Timer(工具栏属性-组件中添加,用于短时间内多次输出(该事件在属性旁边的事件中)).
注意:如果需要timer重复工作,需要在enable一栏打上true或者代码赋值
Datetime.now//获取当前时间(赋值需要转换为字符串)
SoundPlayer sp = new SoundPlayer();
Sp.SoundLocation = @”音乐路径。Wav”
Sp.play()//播放音乐
使用GroupBox容器可以让组件分成一组(最实用于单选与多选),多选与单选均是bool类型(其对应属性为checked)
pictureBox.SzieMode//设置照片格式(自动大小,居中等)
PictureBox.Image = Image.FromFile(path);
WebBrowser 添加一个网页(可以根据属性自己制作简单网页)
注意:url的脚本赋值需要将string转换为URi类型(uri为类,内置转换string的函数,语句为uri I = new Uri(str)); str=”http://www.baidu.com”
comboBox 下拉框(通过comebobox.items.add添加数据)
Listbox 列表框 (list.items.add添加数据),并且双击再触发的情况在属性中(播放音乐用)
listBox1.SelectedIndex(获得所选择选项的索引)
获取文件名的组合
string[] path =Directory.GetFiles(str);//获取文件全路径方法也可以用ofd.filename
Filename = Path.GetFileName(path[i]);
3.Winform窗体-MID窗体(多窗口,并且在父窗体内排列子窗体)
将窗体的IsMdiContainer 变为true(变为主窗体,之后其他的窗体需要将mdiParent 填写为父窗体)
LayoutMdi(MdiLayout.TileHorizontal);//水平排列子窗体
LayoutMdi(MdiLayout.TileVertical);//纵向排列
4.Directory是文件夹进行操作的类
Directory.GetFiles(path);
//获得文件夹内所有文件路径(返回string{}
Directory.Delete(path,true);
Directory.Move(path,newpath)
Directory.GetDirectorys(path,”.jpg”)//可以指定获取的类型,也可以不指定,第二个变量就不用写了
Directory.exist(path)
Directory.CreatDirectory(path+name)//不写name不创建
5.openfileDialog(文件对话框)---所有对话框都需要调用showdialog()
openfileDialog ofd = new openfileDialog ofd.showDialog(); //显示文件对话框
Ofd.Title//对话框标题
Ofd.mutiselect = true//可以多选
Ofd.initialDirectory = @””;//厨师目录
Ofd.filter=”文本文件|.txt|媒体文件|.wav|所有文件|.”//设置打开文件的类型
Ofd.FileName//此情况一般选一个文件,返回文件的全名(路径名)
Savefiledialog与open一样//保存的时候,系统会创建一个文件替换原来的文件(如果原来有的话)
Fontfiledialog与colorfiledialog 都是创建对象之后给字体赋值即可(textbox.text = Ffd.font)
6.进程
Process。Start(“进程名”)//直接打开程序
Foreach(var item in process[])
{
Item.Kill();//关闭当前进程,通过此方法可以快速关闭所有进程,并且只有当item为process的时候,才可以调用kill方法
}
ProcessStartInfo psf = new ProcessStartInfo(path);
P.startInfo = psf
p.start() //可以打开指定位置的文件
注意:此处需要先建立processstartInfo因为process里面的方法是封装的,需要从外界赋值,类似于适配器(process继承于component而processstartInfo没有,所以需要process来做一个适配器,实现效果)
不过,语法规定必须传值,否则异常
7.多线程(不允许跨线程访问,如果某一个控件是另一个线程创建的,那么理论上不允许访问--可以取消检查达到目的)
创建线程thread a = new thread(方法)
次要线程需要设置为后台线程
Thread2.isbackground = true;
取消检查-Control.checkforillegacrossthreadcalls = false
Form_FormClosing窗体关闭中触发的事件,用于强制结束没执行完的线程,防止报错
If(th!=null)
Th.abort//强制终止语句,终止过后,在同一次执行过程中不可以被再次启用
线程传参数的时候是在start中
网友评论