Winfrom 二三事
目录
Winfrom介绍
winform应用程序是一种智能客户端技术,我们可以使用winform应用程序 帮助我们获得信息或者传输信息等。
属性
- Name 在后台找到想要的控件对象;
- visible 控件是否可见
- Enabled 控件是否可用;
事件
- 做了某些动作 发生什么事情
- 注册事件 双击控件 注册默认事件
窗体
- 在 Main 函数中创建的窗体对象,为主窗体
- 关闭当前窗体 应用程序将结束;
控件
TextBox 文本框
- WordWrap :指文本是否换行
- PasswordChar:让文本框显示单一字符
- ScollBars:是否显示滚动条;
- TextChanged():当文本框内容发生改变时触发
跑马灯小练习
//abcde bcdea
string str="abcde";
str=str.Substring(1)+str.Substring(0,1);
Timer 定时器
- 在指定的时间 间隔内重复做一件事情
CheckBox 多选/RadioButton 单选
- Checked :指示当前按钮是否被选中后
- 单选框需配和 groupbox 食用
MID 父窗体
-
确定父窗体;将IsMdiContainer 设为 true;
-
创建子窗体,并为它设置父窗体;
Form1 form1 = new Form1(); //实例化子窗体
form1.MdiParent = this; //为字窗体设置父容器
form1.Show(); //显示父窗体
PictureBox 图片控件
- Image:使用Image.FormFile() 设置图片路径;
Dirctory类 操作文件夹
//创建文件夹
Directory.CreateDirectory(@"C:\Users\软嘴唇\Desktop\新建文件夹");
//删除文件夹
Directory.Delete(@"C:\Users\软嘴唇\Desktop\新建文件夹",true);
//剪切文件夹
//只能操作同根下的文件夹
Directory.Move(@"C:\Users\软嘴唇\Desktop\圣诞树", @"C:\new");
进程 Process
我们可以把计算机中每一个运行的软件程序都当作是一个进程;
一个进程是又多个线程组成的;
//获取所有进程
Process[] pros = Process.GetProcesses();
//遍历所有进程
/* foreach (var item in pros)
{
Console.WriteLine(item);
}*/
//pros[1].Kill(); //结束当前进程
//通过进程打开程序
// Process.Start("calc"); //打开计算器
// Process.Start("iexplore.exe", "https://www.baidu.com/");
//通过进程打开想要的软件
Process p = new Process(); //创建进程对象
p.StartInfo = new ProcessStartInfo(@"C:\new\圣诞树\圣诞树.exe");
p.Start(); //启动
线程 Thread
- .net 中不能跨线程访问 例 (在新线程中给主窗体控件赋值);
Control.CheckForIllegalCrossThreadCalls = false; //取消跨线程访问
- 使用顺序
Thread thread = new Thread(方法名); //创建线程
thread.Start(); //启动线程 有参方法 放start中
thread.Abort(); //关闭线程
- 前台线程:只有前台所有程序执行完,程序才结束 ()
- 后台线程:前台线程结束,后台线程自动结束
thread.IsBackground = true; //设为后台进程 跟随软件一起关闭
Socket 网络编程
客户端要连接服务器程序 需要 IP地址和端口号;IP地址用于找到服务器,端口号用于找到服务器中的应用程序;
Socket 是指客户端 与 服务器 之间的”电话“,用于数据之间的沟通;也就是IP地址 和 端口号;
- 服务器 至少有2个Socket 一个负责监听,一个负责与客户端通讯
- 客户端Socket 必须指定一个服务器地址,和端口,连接服务器;
两种协议
- TCP:需要3次握手 安全,稳定 但是效率低 (客户端请求,服务端发送收到,客户端回复知道了)
- UDP:快速,效率高,但容易数据丢失;