控件:
1.属性:Name--后台获取前台对象,需要使用的属性。
visible--是否显示控件
Enable--是否可用控件
2.事件: 注册事件
触发事件
3.在Program-Main函数中创建的窗口为主窗口程序,次窗口关闭时整个应用程序庀
5.TextBox控件 WordWrap:指示文本框是否换行
PasswordChar:文本框输入时显示固定字符
SoocllBar:是否显示滚动条
事件:TextChange:文本框内容发生改变时调用方法
6.Timer 事件:Enable默认为False,启用更改为True; Tick:每隔固定时间调用方法
7.RadioButton:多选按钮--存在多个时只可选一个,使用GroupBox分组可选择多个
8.MenuStrip:菜单栏(多组按钮)
MDI窗口设计:主窗体MDI属性设置为True,
子窗体 from.MdiParent(from1);-设置父窗体。
子窗体排列:在主窗体方法中调用--LayoutMdi(MdiLayout.TileHorizontal);(横向排列)
LayoutMdi(MdiLayout.TileVertical);(纵向排列)
9.ListBox:listBox1.Items.Add()--列表项,listBox1.SelectedIndex--当前所选中列表中项目的索引
事件:
private void listBox1_DoubleClick(object sender, EventArgs e)
{
SoundPlayer sp = new SoundPlayer();//多媒体音乐播放器类
sp.SoundLocation = musicFullPath[listBox1.SelectedIndex];//音乐文件的全路径
sp.Play();
}
10.打开文件:private void btn_Openfile_Click(object sender, EventArgs e)
{
OpenFileDialog opf = new OpenFileDialog();
opf.Title = "请选择文件";
opf.InitialDirectory = @"C:\Users\qweasd\Music";
opf.Multiselect = true;
opf.Filter = "音乐文件|*.wav|所有文件|*.*;";
opf.ShowDialog();
//获得在该文件夹下选择的所有文件的全路径
string[] musicFiles = opf.FileNames;
for (int i = 0; i < musicFiles.Length; i++)
{
listBox1.Items.Add(Path.GetFileName(musicFiles[i]));//从全路径中截取文件名方法,将文件名显示在ListBox中
musicFullPath.Add(musicFiles[i]);//所有选中音乐的全文件路径列表
}
}
Winform线程:窗体加载时不开启跨线程检测
private void Form1_Load(object sender, EventArgs e)
{
//允许不同线程间进行数据访问
Control.CheckForIllegalCrossThreadCalls = false;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(th!=null)
{
//子线程不为空时,随主线程关闭同时关闭子线程
th.Abort();
}
}
Thread th = new Thread(StartRun);//此线程执行的方法/或传入委托/表达式
th.IsBackground = true;//后台运行
th.Start();//方法需要传递参数时可写在Start中“objecr”参数在方法中转为子类对象