C#操作系统实验-搭建简单的交互式实验系统

操作系统实验报告
安徽师范大学 计算机与信息学院
姓名: XXX 学号: 1911130XXXX 年级专业: 软工二班
实 验 题 目: 搭建交互式实验系统

【1.需求分析】
本次实验的任务是搭建一个操作系统的辅助系统的框架,以便于后续实验进行(后续实验在此框架中运行实现);
(1)本次实验输入形式:字符串 输入值范围:合法字符;
输出形式:文件(菜单功能响应);
(2)展示的是一个操作系统辅助系统的菜单界面;
①生成“文件”菜单组,包含“打开”、“保存”、“退出”等(实现快捷键)
②生成“编辑”菜单组,包含“允许编辑”、“禁止编辑”、“字体”、“颜色”等
③生成“进程管理”菜单组,包含“进程状态转换”、“生产者-消费者”、“进程调度”和“银行家算法”菜单项,并且在执行“进程状态转换”菜单命令时,能弹出标题为“进程状态转换”的窗口。
④生成“存储管理”菜单组,包含“动态分区分配”和“页面置换”菜单项
⑤生成“设备管理”菜单组,包含“磁盘调度”菜单项
(3)本次实验的程序所达到的功能便是搭建出一个辅助系统的框架为后续实验提供便利;

【2.概要设计】
本次实验的设计思路是根据已知的菜单界面,借助VS2019搭建一个属于自己的操作系统实验辅助系统界面,该操作界面包括打开、保存、退出、允许编辑、禁止编辑、字体、颜色等基本操作按钮,并可以在电脑上实现相关操作的功能。
示意图如下:

【3.详细设计】

“打开”按钮的实现具体代码:

private void 打开OCtrlOToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Multiselect = true;
            fileDialog.Title = "请选择文件";
            fileDialog.Filter = "所有文件(*.*)|*.*"; //设置要选择的文件的类型
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string file = fileDialog.FileName;//返回文件的完整路径                
            }
            if (!string.IsNullOrEmpty(fileDialog.FileName))
            {
                StreamReader sr = new StreamReader(fileDialog.FileName);
                richTextBox1.Text = sr.ReadToEnd();
                sr.Close();
            }
    }

“打开”快捷键的实现(其他快捷键同此):
在这里插入图片描述

“保存”按钮代码:


 private void 保存SCtrlSToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog fileDialog = new SaveFileDialog();
            DialogResult dr = fileDialog.ShowDialog();
            if (dr == System.Windows.Forms.DialogResult.OK && !string.IsNullOrEmpty(fileDialog.FileName))
            {
                StreamWriter sw = new StreamWriter(fileDialog.FileName, true, Encoding.UTF8);
                sw.Write(richTextBox1.Text);
                sw.Close();
                MessageBox.Show("保存成功!", "提示");
            }
        }

“退出”:

 private void 退出XCtrlXToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Environment.Exit(0);
        }

“禁止编辑”:


 private void 禁止编辑ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.ReadOnly = true;
        }

“允许编辑”:

private void 允许编辑ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.ReadOnly = false;
        }

“进程状态转换”:

private void 进程状态转换ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
            f.ShowDialog();
        }

【4.测试结果】
输入测试数据:
在这里插入图片描述

保存为“测试”文件:
在这里插入图片描述

“保存成功”提示:
在这里插入图片描述

打开测试文件:
在这里插入图片描述

显示测试文件内容:
在这里插入图片描述

“进程状态转换”弹出窗口:
在这里插入图片描述

【5.源代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 操作系统实验一
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void 文件FToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void toolStripLabel1_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Multiselect = true;
            fileDialog.Title = "请选择文件";
            fileDialog.Filter = "所有文件(*.*)|*.*"; //设置要选择的文件的类型
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string file = fileDialog.FileName;//返回文件的完整路径                
            }
            if (!string.IsNullOrEmpty(fileDialog.FileName))
            {
                StreamReader sr = new StreamReader(fileDialog.FileName);
                richTextBox1.Text = sr.ReadToEnd();
                sr.Close();
            }
 
        }

        private void richTextBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {

        }

        private void 打开OCtrlOToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Multiselect = true;
            fileDialog.Title = "请选择文件";
            fileDialog.Filter = "所有文件(*.*)|*.*"; //设置要选择的文件的类型
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string file = fileDialog.FileName;//返回文件的完整路径                
            }
            if (!string.IsNullOrEmpty(fileDialog.FileName))
            {
                StreamReader sr = new StreamReader(fileDialog.FileName);
                richTextBox1.Text = sr.ReadToEnd();
                sr.Close();
            }

        }

        private void toolStripLabel2_Click(object sender, EventArgs e)
        {
            SaveFileDialog fileDialog = new SaveFileDialog();
            DialogResult dr = fileDialog.ShowDialog();
            if (dr== System.Windows.Forms.DialogResult.OK && !string.IsNullOrEmpty(fileDialog.FileName))
            {
                StreamWriter sw = new StreamWriter(fileDialog.FileName, true, Encoding.UTF8);
                sw.Write(richTextBox1.Text);
                sw.Close();
                MessageBox.Show("保存成功!", "提示");
            }
        }

        private void toolStripLabel3_Click(object sender, EventArgs e)
        {
            System.Environment.Exit(0);
        }

        private void 保存SCtrlSToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog fileDialog = new SaveFileDialog();
            DialogResult dr = fileDialog.ShowDialog();
            if (dr == System.Windows.Forms.DialogResult.OK && !string.IsNullOrEmpty(fileDialog.FileName))
            {
                StreamWriter sw = new StreamWriter(fileDialog.FileName, true, Encoding.UTF8);
                sw.Write(richTextBox1.Text);
                sw.Close();
                MessageBox.Show("保存成功!", "提示");
            }
        }

        private void 退出XCtrlXToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Environment.Exit(0);
        }

        private void 禁止编辑ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.ReadOnly = true;
        }

        private void 允许编辑ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.ReadOnly = false;
        }

        private void 进程状态转换ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
            f.ShowDialog();
        }

        private void 字体颜色ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (fontDialog1.ShowDialog() == DialogResult.OK)
            {
                richTextBox1.Font = fontDialog1.Font;
            }
            
        }

        private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {             
                richTextBox1.ForeColor = colorDialog1.Color;
            }
        }
    }
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值