MyTimeClock/Source/MyTimeClock/TimeClock/DbOp/FrmTimeAdd.cs
鑫Intel 3fb4fa4be9 ### 2022-03-02更新
------
#### TimeClock    V1.0.2203.0201
- *.[改进]修复启动出错时无法保存log的bug。
2022-03-02 20:33:48 +08:00

1447 lines
61 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using NAudio.Wave;
using ryCommon;
using ryCommonDb;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace TimeClock.DbOp
{
public partial class FrmTimeAdd : Form
{
public string tableName = "Dingshi";
public ModalForm mr = null;
private string ImgPath = "";
public FrmTimeAdd(ImageList imglist)
{
InitializeComponent();
RbTheTime.Checked = true;
DtDay.Value = DateTime.Now.AddMinutes(10);
DtTime.Value = DateTime.Now.AddMinutes(10);
Dt_StartDate.Value = DateTime.Now;
Dt_StartTime.Value = DateTime.Now;
CbbShowPic.Enabled = false;
BtnSelectPic.Enabled = false;
CbbWeekIndexByMonth.SelectedIndex = 0;
CbbWeekByMonth.SelectedIndex = 0;
CbbAction.Items.AddRange(new ActionInfo[] {
new ActionInfo { Title = "不执行任何动作",Id="NoAction" },
new ActionInfo { Title = "重启电脑", Id = "Reboot" },
new ActionInfo { Title = "关闭电脑",Id = "Shutdown" },
new ActionInfo { Title = "注销电脑", Id = "Logoff" },
new ActionInfo { Title = "打开网页",Id="OpenUrl", ShowFileUI=true, File_Title="打开网址:" },
new ActionInfo { Title = "打开文件",Id="OpenFile",File_Filter="所有文件|*.*", ShowFileUI=true,ShowPramUI=true },
new ActionInfo { Title = "电脑静音",Id="Mute_On" },
new ActionInfo { Title = "取消静音",Id="Mute_Off" },
new ActionInfo { Title = "语音朗读",Id="Speaker", ShowFileUI=true, File_Title="朗读文本:" },
new ActionInfo { Title = "时间同步",Id="TimeSync" },
});
for (int i = 0; i < Custom.ActionList.Count; i++)
{
CbbAction.Items.Add(Custom.ActionList[i]);
}
CbbAction.SelectedIndex = 0;
#region
CbbEarlierTime.Items.Clear();
CbbEarlierTime.Items.AddRange(new TimeInfo[] {
new TimeInfo { Title = "1分钟",Minute=1 },
new TimeInfo { Title = "2分钟",Minute=2 },
new TimeInfo { Title = "3分钟",Minute=3 },
new TimeInfo { Title = "5分钟",Minute=5 },
new TimeInfo { Title = "10分钟",Minute=10},
new TimeInfo { Title = "15分钟",Minute=15 },
new TimeInfo { Title = "30分钟",Minute=30 },
new TimeInfo { Title = "1小时",Minute=60 },
new TimeInfo { Title = "2小时",Minute=120 },
new TimeInfo { Title = "3小时",Minute=180 },
new TimeInfo { Title = "1天",Minute=60*24 },
new TimeInfo { Title = "2天",Minute=60*24*2 },
new TimeInfo { Title = "3天",Minute=60*24*3 },
new TimeInfo { Title = "5天",Minute=60*24*5 },
new TimeInfo { Title = "7天",Minute=60*24*7 },
new TimeInfo { Title = "15天",Minute=60*24*15 },
new TimeInfo { Title = "30天",Minute=60*24*30 },
});
CbbEarlierTime.Enabled = false;
CbbEarlierTime.SelectedIndex = 0;
CbbEarlierTime.ForeColor = CbbEarlierTime.Enabled ? Color.Black : Color.Gray;
#endregion
LblTimeStr.Text = "软件将在以下时刻进行提醒:" + GetRunTimeStr(out string week2, out int modtype);
CbbDisturbed.SelectedIndex = 0;
CbbLunar.SelectedIndex = 0;
proc_AfterSelect = true;
ctlTreeView1.ImageList = imglist;
pictureBox1.Image = Itrycn_Db.GetGroupImg("1");
TxtKeys.Text = "所有提醒";
ctlTreeView1.LoadFromXMLText(Itrycn_Db.GetSetting("TipGroup", ""));
proc_AfterSelect = false;
TxtKeys.MouseDown += TxtKeys_MouseDown;
pictureBox1.MouseDown += TxtKeys_MouseDown;
PnlKeys.MouseDown += TxtKeys_MouseDown;
this.MouseDown += KeysLeave_MouseDown;
txtName.MouseDown += KeysLeave_MouseDown;
TxtContent.MouseDown += KeysLeave_MouseDown;
tabControl1.MouseDown += KeysLeave_MouseDown;
if (System.IO.Directory.Exists(Itrycn_Info.UserDbFolder + @"\sound\"))
{
string[] files = System.IO.Directory.GetFiles(Itrycn_Info.UserDbFolder + @"\sound\");
for (int i = 0; i < files.Length; i++)
{
CbbSound.Items.Add(new SoundInfo() { Name = System.IO.Path.GetFileName(files[i]), Path = files[i] });
}
}
if (System.IO.Directory.Exists(Itrycn_Info.SysDbFolder + @"\animation\sound\"))
{
string[] files = System.IO.Directory.GetFiles(Itrycn_Info.SysDbFolder + @"\animation\sound\");
for (int i = 0; i < files.Length; i++)
{
CbbSound.Items.Add(new SoundInfo() { Name = System.IO.Path.GetFileName(files[i]), Path = files[i] });
}
if(CbbSound.Items.Contains("默认提醒.wav"))
{
CbbSound.Text = "默认提醒.wav";
}
}
}
class SoundInfo
{
public string Name { get; set; }
public string Path { get; set; }
public override string ToString()
{
return Name;
}
}
private void KeysLeave_MouseDown(object sender, MouseEventArgs e)
{
panelEx2.Visible = false;
}
private void TxtKeys_MouseDown(object sender, MouseEventArgs e)
{
panelEx2.Top = PnlKeys.Top + PnlKeys.Height;
panelEx2.BringToFront();
panelEx2.Visible = true;
}
public int isAdd = 1;
public int selectId = -1;
public void SetGroup(string groupkey)
{
proc_AfterSelect = true;
ctlTreeView1.SelectedTreeByKey(groupkey);
if (ctlTreeView1.SelectedNode != null)
{
if (ctlTreeView1.SelectedNode.ImageIndex != -1)
{
pictureBox1.Image = Itrycn_Db.GetGroupImg(ctlTreeView1.ImageList.Images.Keys[ctlTreeView1.SelectedNode.ImageIndex]);
TxtKeys.Text = ctlTreeView1.SelectedNode.Text;
}
}
proc_AfterSelect = false;
}
#region
public void GetInfo(int id)
{
selectId = id;
DataProvider mydb = new DataProvider();
IDbInterface db = TimeClock.Itrycn_Db.CreateDataProvider(TimeClock.Itrycn_Db.dataType);
if (db.ConnDb(TimeClock.Itrycn_Db.SQLConnStr) == 1)
{
DataSet ds = db.ReadData(tableName, id.ToString());
if (mydb.HaveData(ds))
{
DataRow reader = ds.Tables[0].Rows[0];
proc_AfterSelect = true;
ctlTreeView1.SelectedTreeByKey(reader["GroupKey"].ToString());
if(ctlTreeView1.SelectedNode!=null)
{
if (ctlTreeView1.SelectedNode.ImageIndex != -1)
{
pictureBox1.Image =Itrycn_Db.GetGroupImg(ctlTreeView1.ImageList.Images.Keys[ctlTreeView1.SelectedNode.ImageIndex]);
TxtKeys.Text = ctlTreeView1.SelectedNode.Text;
}
}
proc_AfterSelect = false;
#region
switch (reader["modtype"].ToInt())
{
case TipType.tip_minute:
RbMinute.Checked = true;
break;
case TipType.tip_hour:
RbHour.Checked = true;
break;
case TipType.tip_day:
RbDay.Checked = true;
break;
case TipType.tip_thetime:
RbTheTime.Checked = true;
break;
case TipType.tip_week:
RbWeek.Checked = true;
break;
case TipType.tip_month:
RbMonth.Checked = true;
break;
case TipType.tip_year:
RbYear.Checked = true;
break;
case TipType.tip_winstart:
RbWinStart.Checked = true;
break;
}
txtName.Text = reader["MsgTitle"].ToString();
TxtContent.Text = reader["MsgText"].ToString();
NumInterval.Value = reader["Interval"].ToDecimal();
DtDay.Value = reader["RunTime"].ToDateTime();
DtTime.Value = reader["RunTime"].ToDateTime();
Dt_StartDate.Value = reader["StartTime"].ToDateTime();
Dt_StartTime.Value = reader["StartTime"].ToDateTime();
ChkEnabled.Checked = reader["Enabled"].ToBool();
ChkAllowShow.Checked = !reader["NoShow"].ToBool();
#region
ryCommon.Storage myExcept_XML = new Storage(reader["ExceptXML"].ToString());
myExcept_XML.SelectNodeBySet();
int ExceptionType = myExcept_XML.GetAttrValue("ExceptionType",0);
int iCount = myExcept_XML.GetAttrValue("ExceptionCount",0);
if (ExceptionType == 1) { CbbDisturbed.SelectedIndex = 1; } else { CbbDisturbed.SelectedIndex = 0; }
for (int m = 0; m < iCount; m++)
{
string date_str = "";
DateInfo dt_info = new DateInfo() { iType = myExcept_XML.GetAttrValue("ExType" + (m + 1).ToString(), 1),
start = myExcept_XML.GetAttrValue("ExStart" + (m + 1).ToString(),DateTime.Now),
end = myExcept_XML.GetAttrValue("ExEnd" + (m + 1).ToString(), DateTime.Now),
start_week = myExcept_XML.GetAttrValue("ExStartWeek" + (m + 1).ToString(),1),
end_week = myExcept_XML.GetAttrValue("ExEndWeek" + (m + 1).ToString(), 1),
des = myExcept_XML.GetAttrValue("Des" + (m + 1).ToString(), "")
};
if (dt_info.iType==1)
{
date_str = dt_info.start.ToString("yyyy-MM-dd HH:mm") + " 到 " + dt_info.end.ToString("yyyy-MM-dd HH:mm");
}
else if (dt_info.iType ==2)//星期
{
if (dt_info.start_week == dt_info.end_week)
{ date_str = "每周" + RyDate.GetWeekName(dt_info.start_week); }
else
{
date_str = "周" + RyDate.GetWeekName(dt_info.start_week) + " 到 周" + RyDate.GetWeekName(dt_info.end_week);
}
}
else
{
date_str = "每天 " + dt_info.start.ToString("HH:mm") + " 到 " + dt_info.end.ToString("HH:mm");
}
XPTable.Models.Row itemList = new XPTable.Models.Row()
{
Tag = dt_info
};
//需要修改此处
itemList.Cells.Add(new XPTable.Models.Cell(date_str));//示例
itemList.Cells.Add(new XPTable.Models.Cell(myExcept_XML.GetAttrValue("Des" + (m + 1).ToString(), "")));
table1.TableModel.Rows.Add(itemList);
}
tabPage3.Text = "免打扰(" + table1.TableModel.Rows.Count + ")";
#endregion
#region
ryCommon.Storage myCustomShow_XML = new Storage(reader["CustomShow"].ToString());
myCustomShow_XML.SelectNodeBySet();
iCount = myCustomShow_XML.GetAttrValue("Count", 0);
for (int m = 0; m < iCount; m++)
{
CustomShowInfo dt_info = new CustomShowInfo()
{
Type = myCustomShow_XML.GetAttrValue("CsType" + (m + 1).ToString(), 1),
Name = myCustomShow_XML.GetAttrValue("CsName" + (m + 1).ToString(),""),
IsLunar = myCustomShow_XML.GetAttrValue("CsIsLunar" + (m + 1).ToString(),false),
Year = myCustomShow_XML.GetAttrValue("CsYear" + (m + 1).ToString(), 1),
Month = myCustomShow_XML.GetAttrValue("CsMonth" + (m + 1).ToString(), 1),
Day = myCustomShow_XML.GetAttrValue("CsDay" + (m + 1).ToString(), 1)
};
XPTable.Models.Row itemList = new XPTable.Models.Row()
{
Tag = dt_info
};
//需要修改此处
itemList.Cells.Add(new XPTable.Models.Cell(dt_info.TypeStr));//示例
itemList.Cells.Add(new XPTable.Models.Cell(dt_info.Name));
itemList.Cells.Add(new XPTable.Models.Cell(dt_info.DateStr));
table_show.TableModel.Rows.Add(itemList);
tabPage4.Text = "自定义显示(" + table_show.TableModel.Rows.Count + ")";
}
#endregion
#endregion
ryCommon.Storage tStor = new Storage(reader["SetXML"].ToString());
tStor.SelectNodeBySet();
ChkSound.Checked=tStor.GetAttrValue("sound_on", true);
string sound = tStor.GetAttrValue("sound", @"tip.wav");
if (CbbSound.Items.Contains(sound))
{
CbbSound.Text = sound;
}
else
{
CbbSound.Items.Add(sound);
CbbSound.Text = sound;
}
ChkShowPic.Checked = tStor.GetAttrValue("showpic_on", false);
ImgPath= tStor.GetAttrValue("showpic", "");
CbbShowPic.Text = ImgPath;
ChkNoShowTip.Checked = tStor.GetAttrValue("NoShowTip", false);
string ActionId = tStor.GetAttrValue("ActionId");
string File = tStor.GetAttrValue("File");
string Pram = tStor.GetAttrValue("Pram");
if (RbWeek.Checked)
{
string week = tStor.GetAttrValue("week");
if (week.Length == 7)
{
ChkW1.Checked = week.IndexOf("1", 0) == 0;
ChkW2.Checked = week.IndexOf("1", 1) == 1;
ChkW3.Checked = week.IndexOf("1", 2) == 2;
ChkW4.Checked = week.IndexOf("1", 3) == 3;
ChkW5.Checked = week.IndexOf("1", 4) == 4;
ChkW6.Checked = week.IndexOf("1", 5) == 5;
ChkW7.Checked = week.IndexOf("1", 6) == 6;
}
}
if (RbMonth.Checked)
{
var month_mode = tStor.GetAttrValue("month_mode", 0);
if (month_mode == 0)
{
RbDayByMonth.Checked = true;
ChkRevDay.Checked = tStor.GetAttrValue("revday", false);
int day = tStor.GetAttrValue("day", -1);
if (day.IsInRange(0, 29))
{
CbbDay.SelectedIndex = day;
}
}
else
{
RbWeekByMonth.Checked = true;
var week_m= tStor.GetAttrValue("week_m", 1);
if (!week_m.IsInRange(1, 7)) { week_m = 1; }
CbbWeekByMonth.SelectedIndex = week_m - 1;
var weekindex_m= tStor.GetAttrValue("weekindex_m", 1);
if(!weekindex_m.IsInRange(1,4) && weekindex_m != -1) { weekindex_m = 1; }
if (weekindex_m > 0) { CbbWeekIndexByMonth.SelectedIndex = weekindex_m - 1; }
else { CbbWeekIndexByMonth.SelectedIndex = CbbWeekIndexByMonth.Items.Count - 1; }
ChkWeekTypeByMonth.Checked= tStor.GetAttrValue("weektype_m",false);
}
}
if (RbYear.Checked)
{
ChkRevDay_y.Checked = tStor.GetAttrValue("revday", false);
int IsLunar = tStor.GetAttrValue("IsLunar", 0);
if (IsLunar.IsInRange(0, 1))
{
CbbLunar.SelectedIndex = IsLunar;
}
int day = tStor.GetAttrValue("day", -1);
if (day.IsInRange(0, CbbDay_y.Items.Count-1))
{
CbbDay_y.SelectedIndex = day;
}
int Month = tStor.GetAttrValue("Month", 0);
if (Month.IsInRange(0, CbbMonth_y.Items.Count - 1))
{
CbbMonth_y.SelectedIndex = Month;
}
}
CbbFile.Text = File;
CbbPram.Text = Pram;
for(int i=0;i<CbbAction.Items.Count;i++)
{
ActionInfo item = (ActionInfo)CbbAction.Items[i];
if(item.Id==ActionId)
{
CbbAction.SelectedIndex = i;
break;
}
}
#region
int EarlierMinute = reader["EarlierMinute"].ToInt();
if (EarlierMinute == 0)
{ ChkEarlierTime.Checked = false; }
else
{
ChkEarlierTime.Checked = true;
for (int i = 0; i < CbbEarlierTime.Items.Count; i++)
{
TimeInfo item = (TimeInfo)CbbEarlierTime.Items[i];
if (item.Minute == EarlierMinute)
{
CbbEarlierTime.SelectedIndex = i;
break;
}
}
}
#endregion
LblTimeStr.Text = "软件将在以下时刻进行提醒:" + GetRunTimeStr(out string week2, out int modtype);
}
}
db.Free();
}
private string GetRunTimeStr(out string week,out int modtype)
{
week = GetValue(ChkW1) + GetValue(ChkW2) + GetValue(ChkW3) + GetValue(ChkW4) + GetValue(ChkW5) + GetValue(ChkW6) + GetValue(ChkW7);
string week_title = "";
modtype = 0;
if (RbWeek.Checked)
{
if (week == "0000000")
{
MessageBox.Show("请选择要提醒的星期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return "";
}
string week_chs = "一二三四五六日";
//int pos0= week.IndexOf("0");
int notip_count = 0;
for (int i = 0; i < 7; i++)
{
int pos = week.IndexOf("1", i);
if (pos == i)
{
week_title += "周" + week_chs.Substring(pos, 1) + ",";
}
else { notip_count++; }
}
if (week=="1111100")
{
week_title = "周一到周五";
}
else if (week == "1111101")
{
week_title = "周日到周五";
}
else if (week == "1111110")
{
week_title = "周一到周六";
}
else
{
week_title = week_title.Trim(',');
}
}
int interval = NumInterval.Value.ToInt();
string runtime_str = "";
if (RbMinute.Checked) { modtype = TipType.tip_minute; runtime_str =(interval == 1 ? "每" : "每过" + interval) + "分钟"; }
else if (RbHour.Checked)
{
modtype = TipType.tip_hour;
runtime_str = (interval == 1 ? "每" : "每过" + interval) + "小时";
if (Dt_StartTime.Value.Minute == 0)
{
runtime_str += " 整点";
}
else { runtime_str +="的"+ Dt_StartTime.Value.ToString("mm") + "分"; }
}
else if (RbDay.Checked) { modtype = TipType.tip_day; runtime_str = (interval == 1 ? "每" : "每过" + interval) + "天 " + Dt_StartTime.Value.ToString("HH:mm"); }
else if (RbTheTime.Checked) { modtype = TipType.tip_thetime; runtime_str = DtDay.Value.ToString("yyyy年MM月dd日") + " " + DtTime.Value.ToString("HH:mm"); }
else if (RbWeek.Checked) { modtype = TipType.tip_week; runtime_str = (interval == 1 ? "每" : "每过" + interval) + "周 " + week_title + " " + Dt_StartTime.Value.ToString("HH:mm"); }
else if (RbMonth.Checked)
{
modtype = TipType.tip_month;
if (RbDayByMonth.Checked)
{
runtime_str = (interval == 1 ? "每" : "每过" + interval + "个") + "月 " + (ChkRevDay.Checked ? "倒数" : "") + CbbDay.Text + " " + Dt_StartTime.Value.ToString("HH:mm");
}
else if (RbWeekByMonth.Checked)
{
runtime_str = (interval == 1 ? "每" : "每过" + interval+"个") + "月 " + CbbWeekIndexByMonth.Text +(ChkWeekTypeByMonth.Checked?"的 ":"")+ CbbWeekByMonth.Text + " " + Dt_StartTime.Value.ToString("HH:mm");
}
}
else if (RbYear.Checked)
{
modtype = TipType.tip_year;
runtime_str = CbbLunar.Text + " " + (interval == 1 ? "每" : "每过" + interval) + "年";
if (ChkRevDay_y.Checked && CbbLunar.SelectedIndex == 1 && CbbMonth_y.SelectedIndex == 11 && CbbDay_y.SelectedIndex == 0)
{ runtime_str += "除夕"; }
else
{ runtime_str += CbbMonth_y.Text+(ChkRevDay_y.Checked ? "倒数" : "") + CbbDay_y.Text; }
runtime_str += " " + Dt_StartTime.Value.ToString("HH:mm");
}
else if (RbWinStart.Checked)
{
modtype = TipType.tip_winstart;
runtime_str =(interval ==0? "开机启动后" : "开机启动"+ interval+"分钟后");
}
return runtime_str;
string GetValue(CheckBox chk)
{
return chk.Checked.ToInt().ToString();
}
}
private void BtnOK_Click(object sender, EventArgs e)
{
if (txtName.Text.Length==0)
{
MessageBox.Show("提醒标题不能为空。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if(PnlFile.Visible)
{
if(CbbFile.Text.Length==0)
{
MessageBox.Show("必须选择文件或输入网址。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
if (RbTheTime.Checked)
{
if(DtDay.Value.Date.AddHours(DtTime.Value.Hour).AddMinutes(DtTime.Value.Minute)<DateTime.Now)
{
MessageBox.Show("当前提醒时间已经过期。","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
if(table1.TableModel.Rows.Count>0)
{
switch (MessageBox.Show("具体时间提醒,免打扰功能将无效,确定要删除免打扰吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
case DialogResult.No:
return;
case DialogResult.Yes:
table1.TableModel.Rows.Clear();
tabPage3.Text = "免打扰(" + table1.TableModel.Rows.Count + ")";
break;
}
}
}
int interval = NumInterval.Value.ToInt();
string runtime_str = GetRunTimeStr(out string week, out int modtype);
if (runtime_str.Length==0) { return; }
var pic_path = CbbShowPic.Text;
if(pic_path.Length>0 && pic_path.IndexOfEx("<")!=0)
{
if(System.IO.File.Exists(pic_path))
{
var toPath= RyFiles.AddFileToFolder(pic_path, Itrycn_Info.UserDbFolder+"\\Images",false,out bool OK);
if(OK)
{
pic_path = toPath.Replace(Itrycn_Info.UserDbFolder + "\\Images","<imgfolder>").Replace(Application.StartupPath, "<app>");
}
}
}
if (ImgPath.Length > 0 && ImgPath.IndexOfEx("<imgfolder>") == 0 && ImgPath != pic_path)
{
RyFiles.DeleteFile(ImgPath.Replace("<imgfolder>", Itrycn_Info.UserDbFolder + "\\Images").Replace("<app>", Application.StartupPath));
}
RyQuickSQL mySQL = new RyQuickSQL(tableName);
mySQL.AddField("MsgTitle", txtName.Text);
mySQL.AddField("MsgText", TxtContent.Text);
mySQL.AddField("modtype", modtype);
mySQL.AddField("Interval", interval);
mySQL.AddField("RunTime",DtDay.Value.Date.AddHours(DtTime.Value.Hour).AddMinutes(DtTime.Value.Minute));
mySQL.AddField("StartTime",Dt_StartDate.Value.Date.AddHours(Dt_StartTime.Value.Hour).AddMinutes(Dt_StartTime.Value.Minute));
mySQL.AddField("RunTimeStr", runtime_str);
mySQL.AddField("Clac_TipTime",0);
mySQL.AddField("NextTipAddMinute", 0);
if(ChkEarlierTime.Checked)
{ mySQL.AddField("EarlierMinute", ((TimeInfo)CbbEarlierTime.SelectedItem).Minute); }
else
{ mySQL.AddField("EarlierMinute", 0); }
mySQL.AddField("TipClose", 0);
mySQL.AddField("NextTipTime", DtDay.Value.Date.AddHours(DtTime.Value.Hour).AddMinutes(DtTime.Value.Minute));
#region
if (table1.TableModel.Rows.Count == 0) { mySQL.AddField("ExceptXML", ""); }
else
{
ryCommon.Storage myExcept_XML = new Storage();
myExcept_XML.SelectNodeBySet();
myExcept_XML.SetAttrValue("ExceptionType", CbbDisturbed.SelectedIndex);
myExcept_XML.SetAttrValue("ExceptionCount", table1.TableModel.Rows.Count);
for (int m = 0; m < table1.TableModel.Rows.Count; m++)
{
DateInfo info = (DateInfo)table1.TableModel.Rows[m].Tag;
myExcept_XML.SetAttrValue("ExType" + (m + 1).ToString(), info.iType);
myExcept_XML.SetAttrValue("ExStart" + (m + 1).ToString(), info.start);
myExcept_XML.SetAttrValue("ExEnd" + (m + 1).ToString(), info.end);
myExcept_XML.SetAttrValue("ExStartWeek" + (m + 1).ToString(), info.start_week);
myExcept_XML.SetAttrValue("ExEndWeek" + (m + 1).ToString(), info.end_week);
myExcept_XML.SetAttrValue("Des" + (m + 1).ToString(), info.des);
}
mySQL.AddField("ExceptXML", myExcept_XML.XMLText);
}
#endregion
#region
if (table_show.TableModel.Rows.Count == 0) { mySQL.AddField("CustomShow", ""); }
else
{
ryCommon.Storage myCustomShow_XML = new Storage();
myCustomShow_XML.SelectNodeBySet();
myCustomShow_XML.SetAttrValue("Count", table_show.TableModel.Rows.Count);
for (int m = 0; m < table_show.TableModel.Rows.Count; m++)
{
CustomShowInfo info = (CustomShowInfo)table_show.TableModel.Rows[m].Tag;
myCustomShow_XML.SetAttrValue("CsType" + (m + 1).ToString(), info.Type);
myCustomShow_XML.SetAttrValue("CsName" + (m + 1).ToString(), info.Name);
myCustomShow_XML.SetAttrValue("CsIsLunar" + (m + 1).ToString(), info.IsLunar);
myCustomShow_XML.SetAttrValue("CsYear" + (m + 1).ToString(), info.Year);
myCustomShow_XML.SetAttrValue("CsMonth" + (m + 1).ToString(), info.Month);
myCustomShow_XML.SetAttrValue("CsDay" + (m + 1).ToString(), info.Day);
}
mySQL.AddField("CustomShow", myCustomShow_XML.XMLText);
}
#endregion
#region XML
ActionInfo item = (ActionInfo)CbbAction.SelectedItem;
ryCommon.Storage tStor = new Storage();
tStor.SelectNodeBySet();
tStor.SetAttrValue("ActionId", item.Id);
tStor.SetAttrValue("File", CbbFile.Text);
tStor.SetAttrValue("Pram", CbbPram.Text);
tStor.SetAttrValue("week", week);
tStor.SetAttrValue("sound_on", ChkSound.Checked);
var sound_item = (SoundInfo)CbbSound.SelectedItem;
if (sound_item == null)
{
tStor.SetAttrValue("sound", CbbSound.Text);
}
else
{
tStor.SetAttrValue("sound", sound_item.Path);
}
tStor.SetAttrValue("showpic_on", ChkShowPic.Checked);
tStor.SetAttrValue("showpic", pic_path);
tStor.SetAttrValue("NoShowTip", ChkNoShowTip.Checked);
if (RbYear.Checked)
{
tStor.SetAttrValue("IsLunar", CbbLunar.SelectedIndex);
tStor.SetAttrValue("Month", CbbMonth_y.SelectedIndex);
tStor.SetAttrValue("day", CbbDay_y.SelectedIndex);
tStor.SetAttrValue("revday", ChkRevDay_y.Checked);
}
else
{
if (RbDayByMonth.Checked)
{
tStor.SetAttrValue("month_mode", 0);
tStor.SetAttrValue("revday", ChkRevDay.Checked);
tStor.SetAttrValue("day", CbbDay.SelectedIndex);
}
else if (RbWeekByMonth.Checked)
{
tStor.SetAttrValue("month_mode", 1);
if (CbbWeekIndexByMonth.SelectedIndex <= 3)
{
tStor.SetAttrValue("weekindex_m", CbbWeekIndexByMonth.SelectedIndex+1);
}
else
{
tStor.SetAttrValue("weekindex_m", -1);
}
tStor.SetAttrValue("week_m", CbbWeekByMonth.SelectedIndex+1);
tStor.SetAttrValue("weektype_m",ChkWeekTypeByMonth.Checked);
}
}
#endregion
mySQL.AddField("SetXML", tStor.XMLText);
mySQL.AddField("Enabled",ChkEnabled.Checked);
mySQL.AddField("NoShow", !ChkAllowShow.Checked);
string keys = ctlTreeView1.FormatKeysInfo(ctlTreeView1.GetNodeItem(ctlTreeView1.SelectedNode).Keys);
if (keys == ";;") { keys = ""; }
mySQL.AddField("GroupKey", keys);
DataProvider mydb = new DataProvider();
IDbInterface db = TimeClock.Itrycn_Db.CreateDataProvider(TimeClock.Itrycn_Db.dataType);
if (db.ConnDb(TimeClock.Itrycn_Db.SQLConnStr) == 1)
{
if (isAdd >= 1)
{
db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL);
}
else
{
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + selectId, mySQL);
}
#region
DataSet ds = db.ReadData("select * from Dingshi where Clac_TipTime=0 and Enabled=1", mySQL);
if (mydb.HaveData(ds))
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow reader = ds.Tables[0].Rows[i];
RyQuickSQL mySQL2 = new RyQuickSQL("Dingshi");
DateTime dt = TimeClock.Itrycn_Db.GetNextTipTime2(reader, DateTime.Now);
mySQL2.AddField("NextTipTime", dt);
mySQL2.AddField("EarlierTipTime", dt.AddMinutes(-reader["EarlierMinute"].ToInt()));
mySQL2.AddField("Clac_Time", DateTime.Now);
mySQL2.AddField("Clac_TipTime", 1);
db.ExecuteNonQuery(mySQL2.GetUpdateSQL() + " where id=" + reader["id"].ToString(), mySQL2);
}
}
#endregion
}
if (mr != null) mr.Form_Result = DialogResult.OK;
}
#endregion
private void BtnCancel_Click(object sender, EventArgs e)
{
if (mr != null) mr.Form_Result = DialogResult.Cancel;
}
private void RbTheTime_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
{
PnlInterval.Visible = false;
PnlMonth.Visible = false;
PnlTime.Visible = true;
PnlWeek.Visible = false;
PnlStartTime.Visible = false;
PnlYear.Visible = false;
DtTime.Value = Dt_StartTime.Value;
if (DtDay.Value.Date < DateTime.Now.Date) { DtDay.Value = DateTime.Now; }
}
}
private void RbDay_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
{
PnlInterval.Visible = true;
PnlYear.Visible = false;
PnlMonth.Visible = false;
PnlTime.Visible = false;
PnlWeek.Visible = false;
label3.Text = "每过";
LblInterval.Text = "天";
PnlStartTime.Visible = true;
Dt_StartTime.Value = DtTime.Value;
}
}
private void RbHour_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
{
PnlInterval.Visible = true;
PnlYear.Visible = false;
PnlMonth.Visible = false;
PnlTime.Visible = false;
PnlWeek.Visible = false;
label3.Text = "每过";
LblInterval.Text = "小时";
PnlStartTime.Visible = true;
Dt_StartTime.Value = DtTime.Value;
}
}
private void RbMinute_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
{
PnlInterval.Visible = true;
PnlYear.Visible = false;
PnlMonth.Visible = false;
PnlTime.Visible = false;
PnlWeek.Visible = false;
label3.Text = "每过";
LblInterval.Text = "分钟";
PnlStartTime.Visible = true;
Dt_StartTime.Value = DtTime.Value;
}
}
private void CbbAction_SelectedIndexChanged(object sender, EventArgs e)
{
ActionInfo item = (ActionInfo)CbbAction.SelectedItem;
toolTip1.SetToolTip(CbbFile,item.File_ToolTip);
toolTip1.SetToolTip(BtnFile, item.File_ToolTip);
if (item.ShowFileUI || item.ShowPramUI)
{
PnlFile.Visible = true;
LblFile.Text = item.File_Title;
CbbPram.Visible = item.ShowPramUI;
LblPram.Visible = item.ShowPramUI;
if (item.Id == "OpenUrl") { BtnFile.Visible = false; } else { BtnFile.Visible = true; }
if (item.Id == "Speaker") { BtnFile.Visible = true; BtnFile.Text = "朗读"; } else { BtnFile.Text = "选择"; }
}
else
{
PnlFile.Visible = false;
}
}
private void BtnFile_Click(object sender, EventArgs e)
{
ActionInfo item = (ActionInfo)CbbAction.SelectedItem;
if(item.Id=="Speaker")
{
try
{
var spVoices = new COM.SpVoice()
{
Rate = Itrycn_Info.SpeakerRate,
Volume = Itrycn_Info.SpeakerVolume
};
if (Itrycn_Info.Speaker != "")
{
spVoices.SetVoices(Itrycn_Info.Speaker);
}
spVoices.Speak(CbbFile.Text, COM.SpVoice.Flags.SVSFlagsAsync);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return;
}
if (item.File_Filter != "")
{
openFileDialog1.Filter = item.File_Filter;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
CbbFile.Text =RyFiles.GetRelativePath(openFileDialog1.FileName);
}
}
else
{
item.Cancel = false;
item.Selected();
if (!item.Cancel)
{
CbbFile.Text = item.File;
CbbPram.Text = item.Pram;
}
}
}
private void RbWeek_CheckedChanged(object sender, EventArgs e)
{
PnlInterval.Visible = true;
PnlMonth.Visible = false;
PnlYear.Visible = false;
PnlTime.Visible = false;
PnlWeek.Visible = true;
label3.Text = "每过";
LblInterval.Text = "周";
PnlStartTime.Visible = true;
Dt_StartTime.Value = DtTime.Value;
}
private void RbMonth_CheckedChanged(object sender, EventArgs e)
{
PnlInterval.Visible = true;
PnlYear.Visible = false;
PnlMonth.Visible = true;
PnlTime.Visible = false;
PnlWeek.Visible = false;
label3.Text = "每过";
LblInterval.Text = "月";
PnlStartTime.Visible = true;
Dt_StartTime.Value = DtTime.Value;
if (CbbDay.Items.Count==0)
{
for(int i=0;i<28;i++)
{
CbbDay.Items.Add((i+1).ToString()+"日");
}
if (DateTime.Now.Day <= 28)
{
CbbDay.SelectedIndex = DateTime.Now.Day - 1;
}
else { CbbDay.SelectedIndex =0; }
}
}
private void TabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
LblTimeStr.Text ="软件将在以下时刻进行提醒:"+ GetRunTimeStr(out string week, out int modtype);
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmDisturbedAdd frm = new FrmDisturbedAdd() { Icon = this.Icon };
frm.mr = new ModalForm(this, frm);
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
if (dg == DialogResult.OK)
{
string date_str = "";
DateInfo dt_info = new DateInfo()
{
iType = frm.CbbType.SelectedIndex,
start = getdate_minute(frm.Dt_start.Value),
end = getdate_minute(frm.Dt_End.Value),
start_week = frm.CbbStartWeek.SelectedIndex + 1,
end_week = frm.CbbEndWeek.SelectedIndex + 1,
des = frm.TxtDes.Text
};
if (frm.CbbType.SelectedIndex == 1)
{
date_str = frm.Dt_start.Value.ToString("yyyy-MM-dd HH:mm") + " 到 " + frm.Dt_End.Value.ToString("yyyy-MM-dd HH:mm");
}
else if (frm.CbbType.SelectedIndex == 2)
{
if (frm.CbbStartWeek.Text == frm.CbbEndWeek.Text)
{ date_str = "每"+frm.CbbStartWeek.Text; }
else
{
date_str = frm.CbbStartWeek.Text + " 到 " + frm.CbbEndWeek.Text;
}
}
else
{
date_str = "每天 " + frm.Dt_start.Value.ToString("HH:mm") + " 到 " + frm.Dt_End.Value.ToString("HH:mm");
}
XPTable.Models.Row itemList = new XPTable.Models.Row()
{
Tag = dt_info
};
//需要修改此处
itemList.Cells.Add(new XPTable.Models.Cell(date_str));//示例
itemList.Cells.Add(new XPTable.Models.Cell(frm.TxtDes.Text));
table1.TableModel.Rows.Add(itemList);
tabPage3.Text = "免打扰(" + table1.TableModel.Rows.Count + ")";
DateTime getdate_minute(DateTime dt)
{
return dt.Date.AddHours(dt.Hour).AddMinutes(dt.Minute);
}
}
});
frm.mr.ShowModal();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (table1.SelectedItems.Length == 0) { return; }
table1.TableModel.Rows.RemoveAt(table1.SelectedItems[0].Index);
tabPage3.Text = "免打扰(" + table1.TableModel.Rows.Count + ")";
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MessageBox.Show("确定要删除该项吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
{
return;
}
table1.TableModel.Rows.Clear();
tabPage3.Text = "免打扰(" + table1.TableModel.Rows.Count + ")";
}
private void BtnSelectSound_Click(object sender, EventArgs e)
{
openFileDialog2.Filter = "音频文件(*.mp3;*.wav)|*.mp3;*.wav";
if (CbbSound.Text.Length > 0)
{
openFileDialog2.InitialDirectory = System.IO.Path.GetDirectoryName(Itrycn_Info.GetRealPath(CbbSound.Text));
}
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{
CbbSound.Text = Itrycn_Info.GetRelativePath(openFileDialog2.FileName);
}
}
private void BtnSelectPic_Click(object sender, EventArgs e)
{
openFileDialog2.Filter = "图片文件(*.gif;*.jpg;*.png;*.bmp)|*.gif;*.jpg;*.png;*.bmp";
var pic_path =Itrycn_Info.GetRealPath(CbbShowPic.Text);
if (pic_path.Length > 0)
{
openFileDialog2.FileName = System.IO.Path.GetDirectoryName(pic_path);
}
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{
CbbShowPic.Text = Itrycn_Info.GetRelativePath(openFileDialog2.FileName);
}
}
private void ChkSound_CheckedChanged(object sender, EventArgs e)
{
CbbSound.Enabled = ChkSound.Checked;
BtnSelectSound.Enabled = ChkSound.Checked;
}
private void ChkShowPic_CheckedChanged(object sender, EventArgs e)
{
CbbShowPic.Enabled = ChkShowPic.Checked;
BtnSelectPic.Enabled = ChkShowPic.Checked;
}
private void ChkEarlierTime_CheckedChanged(object sender, EventArgs e)
{
CbbEarlierTime.Enabled = ChkEarlierTime.Checked;
CbbEarlierTime.ForeColor = CbbEarlierTime.Enabled?Color.Black:Color.Gray;
}
private void RbYear_CheckedChanged(object sender, EventArgs e)
{
PnlInterval.Visible = true;
PnlYear.Visible = true;
PnlMonth.Visible = false;
PnlTime.Visible = false;
PnlWeek.Visible = false;
label3.Text = "每过";
LblInterval.Text = "年";
PnlStartTime.Visible = true;
Dt_StartTime.Value = DtTime.Value;
//if (CbbDay.Items.Count == 0)
//{
// for (int i = 0; i < 28; i++)
// {
// CbbDay.Items.Add("第" + (i + 1).ToString() + "天");
// }
// CbbDay.SelectedIndex = 0;
//}
}
private void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
}
/// <summary>
/// 上一次选择的是阳历还是农历0表示阳历,1表示农历
/// </summary>
int last_lunar_y_value = -1;
private void CbbLunar_SelectedIndexChanged(object sender, EventArgs e)
{
#region
var getdate = DateTime.Now;
try
{
if (last_lunar_y_value == 0)
{
if (!ChkRevDay_y.Checked)
getdate = new DateTime(Dt_StartDate.Value.Year, CbbMonth_y.SelectedIndex + 1, CbbDay_y.SelectedIndex + 1);
}
else if (last_lunar_y_value == 1)
{
if (!ChkRevDay_y.Checked)
{
if (ChinaDate.GetDayFromLunar(Dt_StartDate.Value.Year, CbbMonth_y.SelectedIndex + 1, CbbDay_y.SelectedIndex + 1, false, out int AYear, out int AMonth, out int ADay))
{
getdate = new DateTime(AYear, AMonth, ADay);
}
}
}
}
catch
{
}
#endregion
last_lunar_y_value = CbbLunar.SelectedIndex;
if (CbbLunar.SelectedIndex==0) //阳历
{
CbbMonth_y.Items.Clear();
for (int i = 0; i < 12; i++)
{
CbbMonth_y.Items.Add((i + 1).ToString() + "月");
}
CbbMonth_y.SelectedIndex = getdate.Month - 1;
}
else
{
CbbMonth_y.Items.Clear();
string stext = "正二三四五六七八九十";
for (int i = 0; i < 10; i++)
{
CbbMonth_y.Items.Add(stext[i].ToString() + "月");
}
CbbMonth_y.Items.Add("十一月"); CbbMonth_y.Items.Add("十二月");
ChinaDate.GetLunarFromDay(getdate.Year, getdate.Month, getdate.Day, out int LunarYear, out int LunarMonth, out int LunarDay, out bool IsLeapMonth);
CbbMonth_y.SelectedIndex = LunarMonth-1;
}
if (ChkRevDay_y.Checked)
{
CbbDay_y.Items.Clear();
for (int i = 0; i < 31; i++)
{
if (i == 30 && CbbLunar.SelectedIndex == 1) { continue; }
CbbDay_y.Items.Add("第" + (i + 1).ToString() + "天");
}
CbbDay_y.SelectedIndex = 0;
}
else
{
CbbDay_y.Items.Clear();
if (CbbLunar.SelectedIndex == 0)
{
for (int i = 0; i < 31; i++)
{
CbbDay_y.Items.Add((i + 1).ToString()+"日");
}
CbbDay_y.SelectedIndex= getdate.Day-1;
}
else
{
for (int i = 0; i < 30; i++)
{
CbbDay_y.Items.Add(ChinaDate.GetDay(i + 1));
}
ChinaDate.GetLunarFromDay(getdate.Year, getdate.Month, getdate.Day, out int LunarYear, out int LunarMonth, out int LunarDay, out bool IsLeapMonth);
CbbDay_y.SelectedIndex = LunarDay-1;
}
}
}
private void ChkRevDay_y_CheckedChanged(object sender, EventArgs e)
{
if (ChkRevDay_y.Checked)
{
CbbDay_y.Items.Clear();
for (int i = 0; i < 31; i++)
{
if (i == 30 && CbbLunar.SelectedIndex == 1) { continue; }
CbbDay_y.Items.Add("第" + (i + 1).ToString() + "天");
}
CbbDay_y.SelectedIndex = 0;
}
else
{
CbbDay_y.Items.Clear();
if (CbbLunar.SelectedIndex == 0)
{
for (int i = 0; i < 31; i++)
{
CbbDay_y.Items.Add((i + 1).ToString() + "日");
}
}
else
{
for (int i = 0; i < 30; i++)
{
CbbDay_y.Items.Add(ChinaDate.GetDay(i + 1));
}
}
CbbDay_y.SelectedIndex = 0;
}
}
private void ChkRevDay_CheckedChanged(object sender, EventArgs e)
{
CbbDay.Items.Clear();
if (ChkRevDay.Checked)
{
for (int i = 0; i < 28; i++)
{
CbbDay.Items.Add("第" + (i + 1).ToString() + "天");
}
}
else
{
for (int i = 0; i < 28; i++)
{
CbbDay.Items.Add((i + 1).ToString() + "日");
}
}
CbbDay.SelectedIndex = 0;
}
private void BtnPlay_Click(object sender, EventArgs e)
{
var item = (SoundInfo)CbbSound.SelectedItem;
if (item == null)
{
string path = CbbSound.Text;
Itrycn_Info.PlaySound(path);
}
else
{
Itrycn_Info.PlaySound(item.Path);
}
}
private void ButtonEx1_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
Point p = new Point(0, btn.Height);
contextMenuStrip2.Show(btn, p);
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
int minute = ((ToolStripMenuItem)sender).Tag.ToInt();
DateTime dt =DateTime.Now;
dt = dt.AddMinutes(minute);
DtDay.Value = dt;
DtTime.Value = dt;
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
int day = ((ToolStripMenuItem)sender).Tag.ToInt();
DateTime dt = DateTime.Now;
dt = dt.AddDays(day);
DtDay.Value = dt;
DtTime.Value = dt;
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
int month = ((ToolStripMenuItem)sender).Tag.ToInt();
DateTime dt = DateTime.Now;
dt = dt.AddMonths(month);
DtDay.Value = dt;
DtTime.Value = dt;
}
bool proc_AfterSelect = false;
private void CtlTreeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (proc_AfterSelect) { return; }
if (ctlTreeView1.SelectedNode != null)
{
int img_index = ctlTreeView1.SelectedNode.ImageIndex;
if (img_index < 0) { img_index = 0; }
pictureBox1.Image =Itrycn_Db.GetGroupImg(ctlTreeView1.ImageList.Images.Keys[img_index]);
TxtKeys.Text = ctlTreeView1.SelectedNode.Text;
}
panelEx2.Visible = false;
}
private void RbWinStart_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
{
PnlInterval.Visible = true;
PnlYear.Visible = false;
PnlMonth.Visible = false;
PnlTime.Visible = false;
PnlWeek.Visible = false;
label3.Text = "开机";
LblInterval.Text = "分钟后";
PnlStartTime.Visible = false;
NumInterval.Minimum = 0;
Dt_StartTime.Value = DtTime.Value;
}
else { NumInterval.Minimum = 1; }
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmCountdownTip frm = new FrmCountdownTip
{
Icon = Icon
};
if (frm.ShowDialog()==DialogResult.OK)
{
DateTime dt = DateTime.Now;
dt = dt.AddMinutes(frm.Minute);
DtDay.Value = dt;
DtTime.Value = dt;
}
}
private void AddCustomShow(int type)
{
if(table_show.TableModel.Rows.Count>=5)
{
MessageBox.Show("无法再添加,已经到达最大值。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
CustomShow.FrmAddBirthDay frm = new CustomShow.FrmAddBirthDay();
frm.Icon = Icon;
if (type == 0) { frm.Text = "添加出生日期"; }
else if (type == 1) { frm.Text = "添加纪念日"; }
else if (type == 2) { frm.Text = "添加倒计时"; }
frm.CbbType.SelectedIndex = type;
frm.mr = new ModalForm(this, frm);
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
if (dg == DialogResult.OK)
{
CustomShowInfo dt_info = new CustomShowInfo()
{
Type = type,
Name = frm.txtName.Text,
IsLunar = frm.CbbLunar.SelectedIndex == 1,
Year = frm.Dt_Year.Value.Year,
Month = frm.CbbMonth_y.SelectedIndex + 1,
Day = frm.CbbDay_y.SelectedIndex + 1
};
XPTable.Models.Row itemList = new XPTable.Models.Row()
{
Tag = dt_info
};
//需要修改此处
itemList.Cells.Add(new XPTable.Models.Cell(dt_info.TypeStr));//示例
itemList.Cells.Add(new XPTable.Models.Cell(dt_info.Name));
itemList.Cells.Add(new XPTable.Models.Cell(dt_info.DateStr));//示例
table_show.TableModel.Rows.Add(itemList);
tabPage4.Text = "自定义显示(" + table_show.TableModel.Rows.Count + ")";
}
});
frm.mr.ShowModal();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
AddCustomShow(0);
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
AddCustomShow(1);
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
AddCustomShow(2);
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (table_show.SelectedItems.Length == 0) { return; }
table_show.TableModel.Rows.RemoveAt(table_show.SelectedItems[0].Index);
}
private void RbDayByMonth_CheckedChanged(object sender, EventArgs e)
{
ChkRevDay.Enabled = RbDayByMonth.Checked;
CbbDay.Enabled = RbDayByMonth.Checked;
CbbWeekByMonth.Enabled = !RbDayByMonth.Checked;
CbbWeekIndexByMonth.Enabled = !RbDayByMonth.Checked;
ChkWeekTypeByMonth.Enabled = !RbDayByMonth.Checked;
}
private void ChkWeekTypeByMonth_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < CbbWeekIndexByMonth.Items.Count; i++)
{
if (ChkWeekTypeByMonth.Checked)
{
CbbWeekIndexByMonth.Items[i] = CbbWeekIndexByMonth.Items[i].ToString().Replace("星期", "") + "星期";
}
else { CbbWeekIndexByMonth.Items[i] = CbbWeekIndexByMonth.Items[i].ToString().Replace("星期", ""); }
}
}
}
public class ActionInfo
{
public delegate void FileEventHandler(object sender);
public event FileEventHandler OnSelected;
public string Id = "";
public string Title = "";
public string File = "";
public string Pram = "";
public string File_Title = "文件:";
/// <summary>
/// 文件过滤。
/// </summary>
public string File_Filter = "";
/// <summary>
/// 文件文本框提示
/// </summary>
public string File_ToolTip = "";
public bool ShowFileUI = false;
public bool ShowPramUI = false;
public bool Cancel = false;
public override string ToString()
{
return Title;
}
public void Selected()
{
OnSelected?.Invoke(this);
}
}
public class DateInfo
{
public DateTime start;
public DateTime end;
public int start_week = 1;
public int end_week = 1;
/// <summary>
/// 1表示具体时间0表示每天
/// </summary>
public int iType = 0;
public string des = "";
}
public class TimeInfo
{
public string Title = "";
/// <summary>
/// 提前多少分钟提醒
/// </summary>
public int Minute = 0;
public override string ToString()
{
return Title;
}
}
public class CustomShowInfo
{
/// <summary>
/// 类型
/// </summary>
public int Type;
/// <summary>
/// 类型
/// </summary>
public string TypeStr
{
get
{
var str = "";
switch(Type)
{
case 0:
str = "出生日期";
break;
case 1:
str = "纪念日";
break;
case 2:
str = "倒计时";
break;
default:
str = "未知";
break;
}
return str;
}
}
/// <summary>
/// 名称
/// </summary>
public string Name = "";
/// <summary>
/// 是否是农历
/// </summary>
public bool IsLunar =false;
/// <summary>
/// 年份
/// </summary>
public int Year = 2019;
/// <summary>
/// 月份
/// </summary>
public int Month = 1;
/// <summary>
/// 日
/// </summary>
public int Day = 1;
/// <summary>
/// 日期描述
/// </summary>
public string DateStr
{
get
{
var date_str = "";
if (IsLunar)
{
date_str = "农历" + Year + "年" + ChinaDate.GetMonth(Month) + ChinaDate.GetDay(Day);
}
else
{
date_str = "阳历" + Year + "年" + Month + "月" + Day + "日";
}
return date_str;
}
}
}
}