C# 实验感悟WPF

实验程序:todolist

本次博客主要记录实验程序开发过程。

 1 public void Save()
 2         {
 3             System.Text.StringBuilder report = new System.Text.StringBuilder();
 4             foreach (Task toDoItem in taskList)
 5             {
 6                 report.Append(toDoItem.TaskTitle.ToString() + "\t" + toDoItem.TaskDescription.ToString() + "\t" + toDoItem.TaskDueDate.ToString() + "\t" + toDoItem.TaskPriority.ToString() + "\t" + toDoItem.CreationDate.ToString() + "\t" + toDoItem.IsTaskComplete.ToString() + "\n");
 7             }
 8
 9             Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
10             dlg.FileName = "ToDoList"; // Default file name
11             dlg.DefaultExt = ".txt"; // Default file extension
12             dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension
13
14             // Show save file dialog box
15             Nullable<bool> result = dlg.ShowDialog();
16
17             // Process save file dialog box results
18             if (result == true)
19             {
20                 // Save document
21                 File.WriteAllText(dlg.FileName, report.ToString());
22             }
23         }//End Save()

上述代码主要实现将数据保存成TXT格式,存在本地文件下。

public void Load()
        {
            taskList.Clear();

            Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
            dlg.FileName = "ToDoList"; // Default file name
            dlg.DefaultExt = ".txt"; // Default file extension
            dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension 

            // Show open file dialog box
            Nullable<bool> result = dlg.ShowDialog();

            // Process open file dialog box results
            if (result == true)
            {
                //Open document
                System.IO.StreamReader myFile = new System.IO.StreamReader(@dlg.FileName);
                int lineCount = 0;
                using (var reader = File.OpenText(@dlg.FileName))
                {
                    while (reader.ReadLine() != null)
                    {
                        lineCount++;
                    }
                }

                for (int i = 1; i <= lineCount; i++)
                {
                    string myString = myFile.ReadLine();
                    string[] obj = myString.Split(‘\t‘);
                    taskList.Add(new Task { TaskTitle = obj[0].ToString(), TaskDescription = obj[1].ToString(), TaskDueDate = obj[2].ToString(), TaskPriority = obj[3].ToString(), CreationDate = obj[4], IsTaskComplete = Convert.ToBoolean(obj[5]) });
                }//End for loop

            }//End statement

        } // end public bool Load()

对应的,从程序中读取与之绑定的本地数据。

前台界面设计如下

其中捕捉事件的button代码如下

 1  private void addTask_Click(object sender, RoutedEventArgs e)
 2         {
 3             if (!taskTitleTextBox.Text.Equals(string.Empty) && !descriptionTextBox.Text.Equals(string.Empty) && !dateField.Text.Equals(string.Empty) && !priorityDropBox.Text.Equals(string.Empty))
 4             {
 5                 toDo.addItem(taskTitleTextBox.Text, descriptionTextBox.Text, dateField.Text, priorityDropBox.Text);
 6                 toDoListView.Items.Refresh();
 7                 ChangeUIState(UIState.AddState);
 8                 isProgramSaved = false;
 9             }
10             else
11             {
12                 MessageBox.Show("Make sure all fields are filled in!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
13             }
14         }

其中包括对于任务时间 优先级 题目 及描述的填写判定

若全部填写则将数据添加进TEXT 若任何一项未填写 则返回error

相对来说 前台界面设计略简便于后台程序开发。

时间: 2024-08-28 12:33:54

C# 实验感悟WPF的相关文章

C#实验感悟

Windows Phone 8.1 Windows Phone 8.1(简称WP8.1)是Microsoft(微软)最新一代Windows Phone操作系统的最终命名. 北京时间2014年4月2日23:30,微软在旧金山召开Build2014开发者大会.大会上微软推出Windows Phone 8.1更新,Windows Phone 8.1针对Windows Phone 8大量的系统体验改进,包括新的个人数字助理Cortana.通知中心.快捷设置.音量分离.新的日历.IE11等等. 4月14日

实验3 --俄罗斯方块 with 20135335郝爽

一.   实验内容 (一)敏捷开发与XP 内容:1.敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 2.极限编程(eXtreme Programming,XP)是一种全新而快捷的软件开发方法. 要点: 1. XP软件开发的基石是XP的活动,包括:编码.测试.倾听.设计. 2. 我们关注其中的编码标准,结对编程,代码集体所有,测试,重构等实践.(如实验二中的TDD) (二)编码标准 内容:编程标准使代码更容易阅读和理解,甚至可以保证其中的错误更少.编程标

JAVA实验五(网络编程)

实     验    报     告 课程:Java程序设计                         班级:1351            姓名:姜文敏      学号:20135112 成绩:             指导教师:娄嘉鹏              实验日期:2015.6.9 实验密级:         预习程度:             实验时间:15:20-18:00 仪器组次:                 必修/选修:                  实验序号:

Java实验三报告

一.  实验内容 (一)敏捷开发与XP 摘要:一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈.假设简单性.递增更改.提倡更改.优质工作.XP软件开发的基石是XP的活动,包括:编码.测试.倾听.设计. 学习:XP是一种更加灵活的开发方式和理念,通过迅速的反应及时充分修改程序,保证所有团队成员对资源和责任的共享:适用于“小而精”的团队开发.同时,其所倡导的“倾听”也是实现了程序开发“需求至上”的终极目标. (二)编码标准 摘要:编程标准包含:具有说明性的名字.清晰的表达式.直截

20155336 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

20155336 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:java:javac -cp; java -cp: PATH,CLASSPATH,SOURCEPATH的设定方法与应用: 包管理:package:import:javac -d : Eclipse(Netbeans)管理Ja

20162304 2017-2018-1 实验四-图的实现与应用

实验四-图的实现与应用 实验四 图的实现与应用-1 试验内容 用邻接矩阵实现无向图(边和顶点都要保存),实现在包含添加和删除结点的方法,添加和删除边的方法,size(),isEmpty(),广度优先迭代器,深度优先迭代器 给出伪代码,产品代码,测试代码(不少于5条测试) 实验结果 要想用邻接矩阵实现图,首先需要使用一个一维数组存放顶点,一个二维数组存放边: 然后清楚两个顶点之间的关系如何表示,用邻接矩阵表示出来是什么样的: 其中值得注意的是对角线上的应该是0,因为自己和自己是没有路径的. 广度优

20172325 2017-2018-2 《程序设计与数据结构》实验五报告

20172325 2017-2018-2 <程序设计与数据结构>实验五报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 邓煜坤 学号:20172325 实验教师:王志强 实验日期:2018年6月19日 必修/选修: 必修 一.实验内容 任务1: 两人一组结对编程: 1.参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 2.结对实现中缀表达式转后缀表达式的功能 MyBC.java 3.结对实现从上面功能中获取的表达

2018-2019-1 20165227 20165228 20165237 实验二 固件程序设计

2018-2019-1 20165227 20165228 20165237 实验二 固件程序设计 实验步骤 任务一:固件程序设计-1-MDK 要求: 0.注意不经老师允许不准烧写自己修改的代码 1.三人一组 2.参考云班课资源中"信息安全系统实验箱指导书.pdf "第一章,1.1-1.5安装MDK,ULink驱动 注意:要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 3.提交破解程序中产生LIC的截图 4.提交破解成功的截图 实验步骤截图:

第八周总结&amp;实验报告六

实验六 Java异常 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 练习捕获异常.声明异常.抛出异常的方法.熟悉try和catch子句的使用. 掌握自定义异常类的方法. 实验内容 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在catch子句里捕获此异常对象,并且打印"数组越界"信息,加一个finally子句,打印一条信息以证明这里确实得到