public static List <string> ReaderLoaclKemuAndHoursData() //用于返回本地存储数据中所有的科目和时间,以便于显示在ComBox上 { List <string> Cbshowkemuhours = new List <string>(); //此集合仅仅用于生成ComBox中的下拉内容 //string cbshowkongge = " | "; string cbshowkongge = " | "; Cbshowkemuhours.Add("课目" + cbshowkongge + "课时数"); for (int cb = 0; cb < Judge.LocalHours().Count; cb++) { if (Judge.LocalKemu()[cb] == " ") { Cbshowkemuhours.Add(" " + " " + cbshowkongge + Judge.LocalHours()[cb]); continue; } if (Judge.LocalKemu()[cb].Length == 1) { Cbshowkemuhours.Add(Judge.LocalKemu()[cb] + " " + cbshowkongge + Judge.LocalHours()[cb]); continue; } if (Judge.LocalKemu()[cb].Length > 2) { Cbshowkemuhours.Add(Judge.LocalKemu()[cb] + cbshowkongge.Remove(0, (Judge.LocalKemu()[cb].Length - 2)) + Judge.LocalHours()[cb]); continue; } Cbshowkemuhours.Add(Judge.LocalKemu()[cb] + cbshowkongge + Judge.LocalHours()[cb]); } Cbshowkemuhours.Add("总课时" + cbshowkongge.Remove(0, 1) + Judge.TotalHours()); return(Cbshowkemuhours); }
private void BtDeletKemuHours_Click(object sender, RoutedEventArgs e) { MessageBoxResult mbr = MessageBox.Show("你确定要删除该科目吗?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information); if (mbr == MessageBoxResult.Yes) { if (Cbshow.Text == "课目" + " | " + "课时数" || Cbshow.Text == "总课时" + " | " + Judge.TotalHours()) { MessageBox.Show("删除项选择错误", "删除失败", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\app.xml")) { //显示本地存储的科目及课时信息数据到ComBox上 Judge.DeletLoaclKemuAndHoursData(this); Cbshow.ItemsSource = Judge.ReaderLoaclKemuAndHoursData(); Cbshow.SelectedIndex = 0; LbTime.Content = Judge.TotalHours(); LbNumber.Content = Judge.LocalKemu().Count; MessageBox.Show("删除成功!", "信息", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("未存在任何数据可供删除", "删除失败", MessageBoxButton.OK, MessageBoxImage.Error); return; } } if (mbr == MessageBoxResult.No) { return; } }
private void Window_Loaded(object sender, RoutedEventArgs e) { CbSimily.ToolTip = Judge.AddStringEnter("你如果勾选上此项则代表你添加的这个科目在不同班级中不会出现在相同位置(注意:如果同时有很多科目都添加了此属性,则可能造成生成课表的时间较长)", 15); LbTime.Content = Judge.TotalHours(); LbNumber.Content = Judge.LocalKemu().Count; List <string> Cbcountlist = new List <string>();//此集合仅仅用于生成ComBox中的下拉内容 Cbcountlist.Add("任意"); Cbcountlist.Add("1"); Cbcountlist.Add("2"); Cbcountlist.Add("3"); Cbcount.ItemsSource = Cbcountlist; Cbcount.SelectedIndex = 0; //ComeBox中用来设置第一个显示的内容,同样可以设置的为SelectedItem //显示本地存储的科目及课时信息数据到ComBox上 if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\app.xml")) { //显示本地存储的科目及课时信息数据到ComBox上 Cbshow.ItemsSource = Judge.ReaderLoaclKemuAndHoursData(); Cbshow.SelectedIndex = 0; } }
private void BtPlugin_Click(object sender, RoutedEventArgs e) { //输入数据前对格式是否正确的检测 if (TbKemu.Text == "" || TbHours.Text == "") { MessageBox.Show("请输入内容!", "提示", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (TbKemu.Text == " ") { MessageBox.Show("请将输入法调为半角模式!", "提示", MessageBoxButton.OK, MessageBoxImage.Error); TbKemu.Clear(); TbKemu.Focus(); return; } if (TbKemu.Text.IndexOf(" ") != -1) { if (TbKemu.Text.Length > 1) { MessageBox.Show("课表输入格式错误,不能在科目中加空格!或者如果你想只输入空格,请只输入一个!", "提示", MessageBoxButton.OK, MessageBoxImage.Error); TbKemu.Clear(); TbKemu.Focus(); return; } } int number; bool result = int.TryParse(TbHours.Text, out number); if (result) { if (number <= 0 || number > 15) { MessageBox.Show("你输入的课时错误", "错误", MessageBoxButton.OK, MessageBoxImage.Error); TbHours.Focus(); return; } } else { MessageBox.Show("课时格式输入错误", "错误", MessageBoxButton.OK, MessageBoxImage.Error); TbHours.Focus(); return; } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\app.xml"))//检测添加科目是否与本地存在的科目重名 { for (int alct = 0; alct < Judge.LocalKemu().Count; alct++) { if (TbKemu.Text == Judge.LocalKemu()[alct]) { MessageBoxResult mbr = MessageBox.Show("发现该科目已经存在,是否仍然添加?(适用于同一门课不同老师的情况)", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information); if (mbr == MessageBoxResult.Yes) { } if (mbr == MessageBoxResult.No) { TbHours.Text = ""; TbKemu.Text = ""; TbKemu.Focus(); return; } } } } //通过格式检测,开始写入本地文件 try { int totalhours = Judge.TotalHours(); if (totalhours == 0 || totalhours < 45)//如果本地存储文件不存在或者总课时小于45 { if (totalhours + Convert.ToInt32(TbHours.Text) > 45) { MessageBox.Show("不能添加此科目,否则总课时将超出", "添加失败!", MessageBoxButton.OK, MessageBoxImage.Error); return; } Judge.DateRecord((bool)CbSimily.IsChecked, Cbcount.Text, TbKemu.Text, TbHours.Text, true); MessageBox.Show("添加成功!", "提示", MessageBoxButton.OK, MessageBoxImage.Information); LbNumber.Content = Judge.LocalKemu().Count; LbTime.Content = Judge.TotalHours(); TbHours.Text = ""; TbKemu.Text = ""; TbKemu.Focus(); CbSimily.IsChecked = false; //显示本地存储的科目及课时信息数据到ComBox上 Cbshow.ItemsSource = Judge.ReaderLoaclKemuAndHoursData(); Cbshow.SelectedIndex = 0; return; } if (totalhours >= 45)//如果本地文件存在则判断其中课时是否超出总课时 { MessageBoxResult mbr = MessageBox.Show("所添加的课时已满或者已经超过45!,是否重新配置?", "错误!", MessageBoxButton.YesNo, MessageBoxImage.Error); if (mbr == MessageBoxResult.Yes) { Judge.DateRecord((bool)CbSimily.IsChecked, Cbcount.Text, TbKemu.Text, TbHours.Text, false); MessageBox.Show("添加成功!", "提示", MessageBoxButton.OK, MessageBoxImage.Information); LbNumber.Content = Judge.LocalKemu().Count; LbTime.Content = Judge.TotalHours(); TbHours.Text = ""; TbKemu.Text = ""; TbKemu.Focus(); CbSimily.IsChecked = false; //显示本地存储的科目及课时信息数据到ComBox上 Cbshow.ItemsSource = Judge.ReaderLoaclKemuAndHoursData(); Cbshow.SelectedIndex = 0; } if (mbr == MessageBoxResult.No) { TbHours.Clear(); TbKemu.Clear(); return; } } } catch { MessageBox.Show("存储文件发生错误,将进行删除!", "未知错误!", MessageBoxButton.OK, MessageBoxImage.Error); File.Delete(System.Windows.Forms.Application.StartupPath + "\\app.xml"); } }