博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 实验感悟WPF
阅读量:6279 次
发布时间:2019-06-22

本文共 3609 字,大约阅读时间需要 12 分钟。

实验程序: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 name11             dlg.DefaultExt = ".txt"; // Default file extension12             dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension13 14             // Show save file dialog box15             Nullable
result = dlg.ShowDialog();16 17 // Process save file dialog box results18 if (result == true)19 {20 // Save document21 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
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             else11             {12                 MessageBox.Show("Make sure all fields are filled in!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);13             }14         }

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

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

 

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

转载于:https://www.cnblogs.com/yi-jie/p/4511626.html

你可能感兴趣的文章
搭建NTP时间服务器
查看>>
城域网国干BGP路由宣告
查看>>
thrift的使用—servlet服务器端与as3客户端通信
查看>>
Spring集成ActiveMQ
查看>>
理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)
查看>>
NP系列三十六--利用ODR实现公司总部和分支机构的通讯
查看>>
遭遇ARP欺骗
查看>>
【移动开发】Android中一些你可能不太知道的东西
查看>>
MongoDB mapReduce案例分析一
查看>>
asp.net 关于提示“当前上下文中不存在名称"XXX"”的一种情况的解决办法
查看>>
MOSS系列二 创建第一个SharePoint站点
查看>>
Detach Volume 操作 - 每天5分钟玩转 OpenStack(55)
查看>>
MySQL5.6 部署MHA
查看>>
DG配置网络,报ORA-12514: TNS:listener does not...
查看>>
hadoop开启webHDFS服务及测试
查看>>
DC学院学习笔记(十七):分类及逻辑回归
查看>>
Spring Aop(一)——Aop简介
查看>>
document.createElement
查看>>
Outlook Anywhere 客户端配置详解
查看>>
Go语言学习资料整理
查看>>