《键盘事件》
form绑定事件

获得绑定事件的控件的tag属性

//SoundPlayer 播放音频的一个类
SoundPlayer player = new SoundPlayer();
//label 的绑定事件
private void label1_Click(object sender, EventArgs e)
{
Label label = (Label)sender;
string tag=label.Tag.ToString();//获得绑定事件的控件的tag属性,tag是对象类型
string path = "sounds1/" + tag + ".wav";
player.SoundLocation= path;//SoundLocation 音频的路径
player.Load();//加载资源
player.Play();//播放音频
}
//form窗体绑定的事件
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
//MessageBox.Show(e.KeyValue + "");//1-9的数字 对应的是49-57范围
if (e.KeyValue >= 49 && e.KeyValue <= 57)
{
player.SoundLocation = "sounds1/" + (e.KeyValue-48)+ ".wav";
player.Load();
player.Play();
}
}
效果如下:

用keys1-9 或者用鼠标点击文本都会触发事件 发出声音
《富文本》
richTextBox

四个代码事件代码如下
richTextBox1.AppendText("\n大河之剑天上来\n");//AppendText 追歼新文本
//MessageBox.Show(richTextBox1.Text);
}
//添加文本
private void button4_Click(object sender, EventArgs e)
{
OpenFileDialog fileDialog= new OpenFileDialog();//创建文件对话框
DialogResult result = fileDialog.ShowDialog();//打开对话框
if (result == DialogResult.OK)
{
string data = File.ReadAllText(fileDialog.FileName,Encoding.Default);
richTextBox1.AppendText(data+"\n");
}
}
//修改字体
private void button1_Click(object sender, EventArgs e)
{
FontDialog fontDialog= new FontDialog();//字体对话框
if (fontDialog.ShowDialog() == DialogResult.OK)
{
//SelectionFont 选中文本的字体
richTextBox1.SelectionFont= fontDialog.Font;
}
}
//修改字体背景颜色
private void button3_Click(object sender, EventArgs e)
{
ColorDialog colorDialog = new ColorDialog();//颜色取色对话框
if (colorDialog.ShowDialog() == DialogResult.OK)
{
//richTextBox1.SelectionColor = colorDialog.Color;//colorDialog取色器选取的颜色
richTextBox1.SelectionBackColor = colorDialog.Color;// colorDialog.Color 取色器选取的颜色
}
}
//修改字体颜色
private void button2_Click(object sender, EventArgs e)
{
ColorDialog colorDialog= new ColorDialog();//颜色取色对话框
if (colorDialog.ShowDialog()==DialogResult.OK)
{
richTextBox1.SelectionColor = colorDialog.Color;//colorDialog取色器选取的颜色
// richTextBox1.SelectionBackColor = colorDialog.Color;// colorDialog.Color 取色器选取的颜色
}
}
效果如下:

《时间选择器和进度条》
图列如下

代码如下
{
InitializeComponent();
dateTimePicker1.Format = DateTimePickerFormat.Custom;//设置时间选择器格式为自定义格式
dateTimePicker1.CustomFormat = "MMM dd yyyy HH:mm:ss:dddd";
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
label1.Text=((DateTimePicker)sender).Value.ToString();
}
//点击进度条
private void progressBar1_Click(object sender, EventArgs e)
{
if (progressBar1.Value<100)
{
progressBar1.Value += progressBar1.Step;
}
}
效果如下:

《csv数据格式》
/csv数据格式:表格数据格式
//以记事本的方式打开 数据格式为
//姓名,年龄,性别
//张三,20,男
//李四,20,女
//把记事本后缀名改为csv格式,以excel表格的方式展示数据
}
//存储数据的方法
public void SaveData(string name, int age, string sex)
{
//Debug下的data文件夹
string filePath = Directory.GetCurrentDirectory() + "\\data";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);//如果文件不存在 创建文件夹data
}
string path = $"{filePath}\\{DateTime.Now.ToString("yyyy-MM-dd")}.csv";//csv文件的名称
if (File.Exists(path))
{
//csv如果不存在,证明第一次写入,把表头写入csv
//File.Create(path);
//创建文件流(水管)
FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write);
//2创建写入工具(抽水泵) 参数可以是路径 也意识文件流
StreamWriter sw = new StreamWriter(fs,Encoding.Default);
//3组织写入内容
StringBuilder sb= new StringBuilder();//可变字符串
sb.Append("姓名").Append(",").Append("年龄").Append(",").Append("性别");
//4 开始写入
sw.WriteLine(sb.ToString());
//5关闭和释放资源
sw.Close();//关闭写入工具
sw.Dispose();//释放资源
fs.Close();
fs.Dispose();
}
//如果csv已经存在 证明表头存在
//以下写入内容的
using (StreamWriter sw1 = new StreamWriter(path,true,Encoding.Default))//参数2是否是追加的方式
{
//写入内容
StringBuilder sb = new StringBuilder(); // 可变字符串
sb.Append(name).Append(",").Append(age).Append(",").Append(sex);
sw1.WriteLine(sb.ToString());
}
}
//读取数据的方法
public string ReadData()
{
string filePath = Directory.GetCurrentDirectory() + "\\data";
string path = $"{filePath}\\{DateTime.Now.ToString("yyyy-MM-dd")}.csv";//csv文件的名称
using (StreamReader sw1 = new StreamReader(path,Encoding.Default))//参数2是否是追加的方式
{
return sw1.ReadToEnd();
}
}
//写入
private void button1_Click(object sender, EventArgs e)
{
SaveData("坤坤", 30, "男");
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(ReadData());
}
效果如下:

