windows 消息循环,windows系统维护了一些事件,如鼠标点击,点击按钮,鼠标移动,当这些动作发生,操作系统捕获到这些信息,已消息的形式传给消息队列。
循环消息队列,会不停的去消息队列里获取消息,如果消息为空则阻塞,如果消息不为空,则取出消息执行。windows窗体的事件就是基于消息循环而来的。
winform 笔记本编写:图:
主要用到openFileDialog,
private void Open()
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
FileName = openFileDialog1.FileName;
try
{
OriginalContent = File.ReadAllText(FileName);
txtEditor.Text = OriginalContent;
}
catch (Exception)
{
lblInfo.Text = "无法打开文件";
}
}
}
保存文件:
private void Save()
{
//当内容己更改时,此标记为True,
bool ShouldSave = false;
//如果文件名不为空,表明当前是文本框中的内容是来自于文件
if (FileName != "")
{
//如果内容己更改
if (txtEditor.Text != OriginalContent
&& MessageBox.Show("文件己修改,保存吗?",
"保存文件",
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
ShouldSave = true;
}
}
else
{
//如果用户输入了内容,并且指定了一个文件名
if (txtEditor.Text != "" && saveFileDialog1.ShowDialog() == DialogResult.OK)
{
FileName = saveFileDialog1.FileName;
ShouldSave = true;
}
}
if (ShouldSave)
{
try
{
File.WriteAllText(FileName, txtEditor.Text);
OriginalContent = txtEditor.Text;
lblInfo.Text = "文件己保存";
}
catch (Exception)
{
lblInfo.Text = "文件保存失败";
}
}
}
原文:https://www.cnblogs.com/lifejoy/p/9750638.html