📄 frmdocument.cs
字号:
private void EnableDocMenuItems()
{
if(!this.Visible)
return;
frmMain mdi=this.ParentForm as frmMain;
DevComponents.DotNetBar.DotNetBarManager m=mdi.dotNetBarManager1;
// Disabled Edit items
m.Items["bPaste"].Enabled=true;
m.Items["bSelectAll"].Enabled=true;
m.Items["bFind"].Enabled=true;
m.Items["bFindNext"].Enabled=true;
m.Items["bReplace"].Enabled=true;
// Disable Format items
m.Items["bAlignLeft"].Enabled=true;
m.Items["bAlignRight"].Enabled=true;
m.Items["bAlignCenter"].Enabled=true;
m.Items["bBold"].Enabled=true;
m.Items["bItalic"].Enabled=true;
m.Items["bUnderline"].Enabled=true;
m.Items["bStrikethrough"].Enabled=true;
m.Items["bTextColor"].Enabled=true;
EnableSelectionItems();
}
private void FormDeactivated(object sender, System.EventArgs e)
{
DisableDocMenuItems();
}
private void DisableDocMenuItems()
{
frmMain mdi=this.ParentForm as frmMain;
DevComponents.DotNetBar.DotNetBarManager m=mdi.dotNetBarManager1;
// Disabled Edit items
m.Items["bCut"].Enabled=false;
m.Items["bCopy"].Enabled=false;
m.Items["bPaste"].Enabled=false;
m.Items["bDelete"].Enabled=false;
m.Items["bSelectAll"].Enabled=false;
m.Items["bFind"].Enabled=false;
m.Items["bFindNext"].Enabled=false;
m.Items["bReplace"].Enabled=false;
// Disable Format items
m.Items["bBold"].Enabled=false;
m.Items["bItalic"].Enabled=false;
m.Items["bUnderline"].Enabled=false;
m.Items["bStrikethrough"].Enabled=false;
m.Items["bAlignLeft"].Enabled=false;
m.Items["bAlignRight"].Enabled=false;
m.Items["bAlignCenter"].Enabled=false;
m.Items["bTextColor"].Enabled=false;
}
/// <summary>
/// Process Menu/Toolbar commands
/// </summary>
/// <param name="cmd">Command string</param>
public void ExecuteCommand(string cmd, object data)
{
// switch(cmd)
// {
// // Edit Menu
// case "bUndo":
// rtfText.Undo();
// break;
// case "bCut":
// rtfText.Cut();
// break;
// case "bCopy":
// rtfText.Copy();
// break;
// case "bPaste":
// rtfText.Paste();
// break;
// case "bDelete":
// rtfText.SelectedText="";
// break;
// case "bSelectAll":
// rtfText.SelectAll();
// break;
// case "bFindNext":
// MessageBox.Show("Not implemented yet.");
// break;
// case "bReplace":
// MessageBox.Show("Not implemented yet.");
// break;
// // Format menu
// case "bBold":
// {
// if(rtfText.SelectionFont.Bold)
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style & ~(rtfText.SelectionFont.Style & FontStyle.Bold)));
// else
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style | FontStyle.Bold));
// break;
// }
// case "bItalic":
// {
// if(rtfText.SelectionFont.Italic)
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style & ~(rtfText.SelectionFont.Style & FontStyle.Italic)));
// else
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style | FontStyle.Italic));
// break;
// }
// case "bUnderline":
// {
// if(rtfText.SelectionFont.Underline)
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style & ~(rtfText.SelectionFont.Style & FontStyle.Underline)));
// else
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style | FontStyle.Underline));
// break;
// }
// case "bStrikethrough":
// if(rtfText.SelectionFont.Strikeout)
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style & ~(rtfText.SelectionFont.Style & FontStyle.Strikeout)));
// else
// rtfText.SelectionFont=new Font(rtfText.SelectionFont,(rtfText.SelectionFont.Style | FontStyle.Strikeout));
// break;
// case "bAlignLeft":
// rtfText.SelectionAlignment=HorizontalAlignment.Left;
// break;
// case "bAlignCenter":
// rtfText.SelectionAlignment=HorizontalAlignment.Center;
// break;
// case "bAlignRight":
// rtfText.SelectionAlignment=HorizontalAlignment.Right;
// break;
// case "bTextColor":
// {
// if(data!=null && data is Color)
// rtfText.SelectionColor=(Color)data;
// break;
// }
// case "bFind":
// {
// if(data!=null)
// {
// string searchText=data.ToString();
// rtfText.Find(searchText,rtfText.SelectionStart+rtfText.SelectionLength,RichTextBoxFinds.None);
// }
// break;
// }
// }
// DocumentChanged=true;
// EnableSelectionItems();
}
private void rtfText_TextChanged(object sender, System.EventArgs e)
{
DocumentChanged=true;
}
public void OpenFile(string filename)
{
// if(filename.Substring(filename.Length-4,4).ToLower()==".txt")
// rtfText.LoadFile(filename,RichTextBoxStreamType.PlainText);
// else
// rtfText.LoadFile(filename,RichTextBoxStreamType.RichText);
// this.FileName=filename;
// DocumentChanged=false;
}
public void SaveFile()
{
// if(this.FileName.Substring(this.FileName.Length-4,4).ToLower()==".txt")
// rtfText.SaveFile(this.FileName,RichTextBoxStreamType.PlainText);
// else
// rtfText.LoadFile(this.FileName,RichTextBoxStreamType.RichText);
//
// DocumentChanged=false;
}
private void FormClosed(object sender, System.EventArgs e)
{
frmMain mdi=this.ParentForm as frmMain;
DevComponents.DotNetBar.DotNetBarManager m=mdi.dotNetBarManager1;
m.Bars["barStatus"].Items["lPosition"].Text="";
DisableDocMenuItems();
}
private void FormClosing(object sender, System.ComponentModel.CancelEventArgs e)
{
if(this.DocumentChanged)
{
DialogResult dlg=MessageBox.Show(this,"Document '"+this.FileName+"' has changed. Save changes?","Notepad",MessageBoxButtons.YesNoCancel);
if(dlg==DialogResult.Cancel)
{
e.Cancel=true;
}
else if(dlg==DialogResult.Yes)
{
if(this.FileName=="")
if(this.FileName!="")
SaveFile();
}
}
}
private void FormVisibleChanged(object sender, System.EventArgs e)
{
if(this.Visible)
EnableDocMenuItems();
else
DisableDocMenuItems();
}
private void frmDocument_Load(object sender, System.EventArgs e)
{
try
{
string path=System.IO.Path.GetDirectoryName(Application.ExecutablePath)+@"\setup.xml";
System.Xml.XmlDocument xmldoc=new System.Xml.XmlDocument();
xmldoc.Load(path);
forOpen(this,ref xmldoc);
}
catch
{
MessageBox.Show("未能打开发票信息,可能该发票不存在或数据已经被损坏!");
}
}
public void Save()
{
forCheckCbx(this);
if(this.TbxID.Text.Trim().Length==0)
{
MessageBox.Show("请填入发票编号");
this.TbxID.Focus();
return;
}
string strxml=@"<?xml version='1.0' encoding='utf-8' ?><Bill></Bill>";
System.Xml.XmlDocument xmldoc=new System.Xml.XmlDocument();
xmldoc.LoadXml(strxml);
forSave(this,ref xmldoc);
string path=System.IO.Path.GetDirectoryName(Application.ExecutablePath)+@"\BillData\"+this.TbxID.Text+@".xml";
xmldoc.Save(path);
strxml=@"<?xml version='1.0' encoding='utf-8' ?><Setup></Setup>";
xmldoc=new System.Xml.XmlDocument();
xmldoc.LoadXml(strxml);
forSaveList(this,ref xmldoc);
path=System.IO.Path.GetDirectoryName(Application.ExecutablePath)+@"\setup.xml";
xmldoc.Save(path);
}
private void forSave(System.Windows.Forms.Control crl,ref System.Xml.XmlDocument xmldoc)
{
for(int i=0;i<crl.Controls.Count;i++)
{
if(crl.Controls[i].Controls.Count>0)
{
forSave(crl.Controls[i],ref xmldoc);
}
if(crl.Controls[i].Name.Length<=3)
{
continue;
}
if(crl.Controls[i].Name.Substring(0,3)=="Tbx")
{
XmlElement newTitle=xmldoc.CreateElement(crl.Controls[i].Name);
try
{
newTitle.InnerText=crl.Controls[i].Text;
}
catch
{
newTitle.InnerText="";
}
xmldoc["Bill"].AppendChild(newTitle);
}
if(crl.Controls[i].Name.Substring(0,3)=="Cbx")
{
XmlElement newTitle=xmldoc.CreateElement(crl.Controls[i].Name);
try
{
newTitle.InnerText=crl.Controls[i].Text;
}
catch
{
newTitle.InnerText="";
}
xmldoc["Bill"].AppendChild(newTitle);
}
if(crl.Controls[i].Name.Substring(0,3)=="Lbx")
{
ListView lvi=crl.Controls[i] as ListView;
for(int j=0;j<lvi.Items.Count;j++)
{
for(int k=0;k<lvi.Items[j].SubItems.Count;k++)
{
XmlElement newTitle=xmldoc.CreateElement(crl.Controls[i].Name+j.ToString()+k.ToString());
newTitle.InnerText=lvi.Items[j].SubItems[k].Text;
xmldoc["Bill"].AppendChild(newTitle);
}
}
}
}
}
private void forSaveList(System.Windows.Forms.Control crl,ref System.Xml.XmlDocument xmldoc)
{
for(int i=0;i<crl.Controls.Count;i++)
{
if(crl.Controls[i].Controls.Count>0)
{
forSaveList(crl.Controls[i],ref xmldoc);
}
if(crl.Controls[i].Name.Length<=3)
{
continue;
}
if(crl.Controls[i].Name.Substring(0,3)=="Cbx")
{
XmlElement newTitle=xmldoc.CreateElement(crl.Controls[i].Name);
newTitle.InnerText="";
ComboBox cbx=crl.Controls[i] as ComboBox;
bool isexist=false;
for(int j=0;j<cbx.Items.Count;j++)
{
if(cbx.Items[j].ToString()==crl.Controls[i].Text) isexist=true;
}
if(!isexist&&crl.Controls[i].Text.Trim().Length!=0)
{
XmlElement newItem=xmldoc.CreateElement("Item");
newItem.InnerText=crl.Controls[i].Text;
newTitle.AppendChild(newItem);
}
for(int j=0;j<cbx.Items.Count;j++)
{
XmlElement newItem=xmldoc.CreateElement("Item");
newItem.InnerText=cbx.Items[j].ToString();
newTitle.AppendChild(newItem);
}
xmldoc["Setup"].AppendChild(newTitle);
}
}
}
private void forOpen(System.Windows.Forms.Control crl,ref System.Xml.XmlDocument xmldoc)
{
for(int i=0;i<crl.Controls.Count;i++)
{
if(crl.Controls[i].Controls.Count>0)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -