C#

学C#的第15天

森岩
2022-08-03 / 0 评论 / 2 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年08月04日,已超过1220天没有更新,若内容或图片失效,请留言反馈。

1、Directory 静态类

1. 作用:

  操作文件夹/目录

2. 方法:

  1. .CreateDirectory():创建文件夹
  2. .Delete(@"", ):删除文件夹,是彻底删除,不进入回收站。前路径,后bool,控制是否删除所有子目录和文件。
  3. Move(@"",@""):将文件夹剪切到另一位置
  4. string[] .GetFiles(@"",""):获得文件夹下所有(指定)文件的全路径。前路径,后条件,比如想要查找全部jpg图片:"*.jpg"
  5. string[] .GetDirectories()获得文件夹下所有文件夹的全路径
  6. bool .Exists(""):判断文件夹是否存在

2、WebBrowser 控件

  1. url:写入网址,接收Uri类型,需要new一个Uri

3、ComboBox 下拉框控件

  1. 小箭头下面可以绑定数据库,或者自己填写数据
  2. .Items.xx()不填xx就是获得下拉框数据,xx代表功能,比如可以填入add来添加下拉框数据
  3. DropDownStyle属性:控制下拉框样式
  4. 起名:cbo+...
  5. .SelectedItem.ToString()获得被选择的数据

4、ListBox 列表

  1. 很多方法和ComcboBox类似
  2. .SelectedIndex获取已选中的项目索引
  3. DoubleClick事件:双击触发

5、提取方法

  1. 当同一类中要使用很多相同的方法的时候,可以考虑将其封装成方法
  2. 操作:选中想要封装的代码---右击---重构---提取方法

6、对话框

1. 打开文件对话框OpenFileDialog

  1. 是实例,因此需要先创建对象
  2. .ShowDialog():展示对话框,如果不好使就括号里加个this
  3. .Title = " ":设置标题,输入string
  4. .Multiselect = ;设置是否多选,输入bool
  5. .InitialDirectory = 设置初始目录
  6. .Filter = "文本文件|*.txt"设置打开文件类型。以txt为例,给用户看的|要取的文件类型

2. 保存文件对话框SaveFileDialog

  1. string .FileName;获得在打开对话框中选中文件的路径

3.字体对话框FontDialog、颜色对话框ColorDialog

  1. textBox1.Font = fd.Font;将字体赋给文本
  2. textBox1.ForeColor = cd.Color;将颜色赋给前景

7、Panel容器

  1. 特性:可隐藏,当隐藏的时候,容器内的控件也隐藏
  2. .Visible =放bool

8、进程

  1. Process[] Process.GetProcesses();:获得当前所有正在运行的进程
  2. Process.Start("calc");:通过进程的方式打开程序(以计算器为例)
  3. 打开指定文件
            ProcessStartInfo psi = new ProcessStartInfo(@"C:\Users\crg88\Desktop\1.txt");
            Process p = new Process();
            p.StartInfo = psi;
            p.Start();

9、线程

  1. 解决的问题:当单线程时,如果单线程去执行一个很复杂的方法,就会导致其他操作不能响应,造成假死
  2. 开新线程实现方法test:
            //创建一个线程去执行这个方法
            Thread th = new Thread(Test);
            //标记这个线程就绪,但是具体什么时候执行这个线程是由CPU决定的
            th.Start();
  1. 前台线程:只有所有的前台线程都关闭才能完成程序关闭
  2. 后台线程:只要所有的前台进程结束,后台线程自动结束:th.IsBackground = true;
  3. 如果方法复杂程度不够,或者cpu性能太强,有可能cpu并不会给新的线程
  4. 在.Net下,不允许跨线程的访问,但是可以屏蔽对跨线程调用的异常检查:
Control.CheckForIllegalCrossThreadCalls = false;
  1. 在新线程还在运行并调用主线程的控件时,关闭主线程,此时主线程的控件已经被销毁,但是新线程有可能由于某种原因还在运行,并且继续调用主线程的控件,就有可能抛异常。这种情况一般的解决办法是在关闭的时候判断新线程是否为null,如果是null则手动关闭,使用终止线程的方法:

             if (th != null)
             {
                 th.Abort();
             }

      线程关闭之后就不能再start了

  2. Thread.Sleep():静态方法,可以使当前线程停止一段时间运行。以毫秒为单位。
0

评论

博主关闭了所有页面的评论