⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.cs

📁 用c#编的一个invoice打印程序
💻 CS
📖 第 1 页 / 共 2 页
字号:
				tabStrip1.Style=eTabStripStyle.Flat;
				dotNetBarManager1.Bars["barTaskPane"].BackColor=Color.FromArgb(245,245,245);
				((ControlContainerItem)dotNetBarManager1.GetItem("cTaskShowatstartup")).Control.BackColor=Color.FromArgb(245,245,245);
			}
		}

		private void TaskPaneShowAtStartup(object sender, EventArgs e)
		{
			MessageBox.Show("This item is here for demonstration purposes only and code should be added to save the state of it.");
		}

		private void ManagerDefinitionLoaded(object sender, EventArgs e)
		{
			// Assign optional "Customize" menu to the bar that contains this item
			dotNetBarManager1.Bars["barTaskList"].CustomizeMenu=(PopupItem)dotNetBarManager1.ContextMenus["bTaskListMenu"];
		}

		private void dotNetBarManager1_MouseEnter(object sender, System.EventArgs e)
		{
			// Sync Status-bar with the item tooltip...
			BaseItem item=sender as BaseItem;
			if(item==null)
				return;
            dotNetBarManager1.Bars["barStatus"].Items["lStatus"].Text=item.Tooltip;
			// Disable timer...
		}

		private void dotNetBarManager1_MouseLeave(object sender, System.EventArgs e)
		{
            dotNetBarManager1.Bars["barStatus"].Items["lStatus"].Text="";		
		}

		private void frmMain_Load(object sender, System.EventArgs e)
		{
			ChangeDotNetBarStyle(eDotNetBarStyle.Office2003);

			EnableFileItems();

			// This makes sure that Theme support is enabled by the end-user as well as present on this OS
			// Neccessary for Automatic Tab-Strip Mdi support
			tabStrip1.MdiForm=this;

			// Setup Context menu for the barTaskList TabStrip...
			Bar bar=dotNetBarManager1.Bars["barTaskList"];
			dotNetBarManager1.SetContextMenuEx(bar,"bDockContext");
		}


		private void SwitchWorkingMode(bool tabbedMdi)
		{
			if(tabbedMdi)
			{
				// Switch to Tabbed Mdi Interface
				dotNetBarManager1.MdiSystemItemVisible=false;
				tabStrip1.MdiTabbedDocuments=true;
				dotNetBarManager1.Bars["windowlist"].Visible=false;
			}
			else
			{
				// Switch to standard Mdi Interface
				tabStrip1.Visible=false;
				dotNetBarManager1.MdiSystemItemVisible=true;
				tabStrip1.MdiTabbedDocuments=false;
                tabStrip1.MdiForm=null;
				SyncMdiTabbedBar();
			}
		}

		private void MdiClientControlAddRemove(object sender, ControlEventArgs e)
		{
			if(e.Control is Form)
				SyncMdiTabbedBar();
		}
		private void SyncMdiTabbedBar()
		{
			if(tabStrip1.Visible)
			{
				// Hide window list bar
				dotNetBarManager1.Bars["windowlist"].Visible=false;
			}
			else
			{
				if(this.MdiChildren.Length>0)
				{
					dotNetBarManager1.Bars["windowlist"].Visible=true;
					dotNetBarManager1.Bars["windowlist"].DockLine=1;
					dotNetBarManager1.Bars["windowlist"].RecalcLayout();
				}
				else
					dotNetBarManager1.Bars["windowlist"].Visible=false;
			}
		}

		private TabItem TabItemFromPoint(Point pClient)
		{
			if(!tabStrip1.ClientRectangle.Contains(pClient))
				return null;
			foreach(TabItem tab in tabStrip1.Tabs)
			{
				if(tab.Visible && tab.DisplayRectangle.Contains(pClient))
					return tab;
			}

			return null;
		}

		private void dotNetBarManager1_PopupOpen(object sender, DevComponents.DotNetBar.PopupOpenEventArgs e)
		{
			BaseItem item=sender as BaseItem;
			if(item==null)
				return;
			if(item.Name=="bTabContext")
			{
				// Enable/Disable the document related menu items based on where user right-clicked...
				TabItem tab=TabItemFromPoint(tabStrip1.PointToClient(Control.MousePosition));
				// If no tab is under the mouse disable document related items...
				if(tab==null)
				{
					item.SubItems["bClose"].Enabled=false;
					item.SubItems["bSave"].Enabled=false;
				}
				else
				{
					item.SubItems["bClose"].Enabled=true;
					item.SubItems["bSave"].Enabled=true;
					// Make sure that tab under the mouse is active tab
					tabStrip1.SelectedTab=tab;
				}
			}
			else if(item.Name=="bDockContext")
			{
				Bar bar=dotNetBarManager1.Bars["barTaskList"];
				// Display our context menu only if user clicks on the bar caption or tab strip control
				if(!bar.GrabHandleRect.Contains(bar.PointToClient(Control.MousePosition)) && bar.DockTabControl!=null && !bar.DockTabControl.Bounds.Contains(bar.PointToClient(Control.MousePosition)))
				{
					e.Cancel=true;
					return;
				}
				item.SubItems.Clear();
				ButtonItem contextItem=null;
				foreach(BaseItem dockItem in bar.Items)
				{
					contextItem=new ButtonItem(dockItem.Name,dockItem.Text);
					contextItem.GlobalItem=false;
					contextItem.Click+=new EventHandler(this.DockContextClick);
					item.SubItems.Add(contextItem);
					contextItem.Checked=dockItem.Visible;
				}
				contextItem=new ButtonItem("bc_tabnavigation","Tab Navigation");
				contextItem.Checked=bar.TabNavigation;
				contextItem.BeginGroup=true;
				contextItem.Click+=new EventHandler(this.DockContextClick);
				item.SubItems.Add(contextItem);
				PopupItem popup=item as PopupItem;
			}
		}

		private void DockContextClick(object sender, EventArgs e)
		{
			ButtonItem item=sender as ButtonItem;
			if(item==null)
				return;

			Bar bar=dotNetBarManager1.Bars["barTaskList"];
			if(item.Name=="bc_tabnavigation")
			{
				bar.TabNavigation=!item.Checked;
				bar.DockTabControl.Refresh();
				return;
			}
			
			
			if(bar.Items.Contains(item.Name))
				bar.Items[item.Name].Visible=!item.Checked;
			bar.RecalcLayout();
		}

		private void frmMain_Move(object sender, System.EventArgs e)
		{
			this.CloseInfoBalloon();
			this.CloseSearch();
		}

		private void CloseInfoBalloon()
		{
			if(m_InfoBalloon!=null)
			{
				m_InfoBalloon.Close();
				m_InfoBalloon.Dispose();
				m_InfoBalloon=null;
			}
		}

		private void CloseSearch()
		{
			if(m_Search!=null)
			{
				m_Search.Close();
				m_Search.Dispose();
				m_Search=null;
			}
		}

		public void SearchActiveDocument(string text)
		{
			try
			{
				string path=System.IO.Path.GetDirectoryName(Application.ExecutablePath)+@"\BillData\"+text+@".xml";
				System.Xml.XmlDocument xmldoc=new System.Xml.XmlDocument();
				xmldoc.Load(path);
				frmDocument doc=new frmDocument();
				doc.MdiParent=this;
				doc.WindowState=FormWindowState.Maximized;
				doc.Show();
				doc.Update();
				doc.Text=text;
				forOpen(doc,ref xmldoc);

			}
			catch
			{
				MessageBox.Show("未能打开发票信息,可能该发票不存在或数据已经被损坏!");
			}
		}
		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)
				{
					forOpen(crl.Controls[i],ref xmldoc);
				}
				if(crl.Controls[i].Name.Length<=3)
				{
					continue;
				}
				if(crl.Controls[i].Name.Substring(0,3)=="Tbx")
				{
					crl.Controls[i].Text=xmldoc["Bill"][crl.Controls[i].Name].InnerText;
				}
				if(crl.Controls[i].Name.Substring(0,3)=="Cbx")
				{
					crl.Controls[i].Text=xmldoc["Bill"][crl.Controls[i].Name].InnerText;
				}
				if(crl.Controls[i].Name.Substring(0,3)=="Lbx")
				{
					ListView lvi=crl.Controls[i] as ListView;
					try
					{
						for(int j=0;j<6;j++)
						{
							ListViewItem lvitem=new ListViewItem();
							lvitem.Text=xmldoc["Bill"][crl.Controls[i].Name+j.ToString()+"0"].InnerText;
							lvitem.SubItems.Add(xmldoc["Bill"][crl.Controls[i].Name+j.ToString()+"1"].InnerText);
							lvitem.SubItems.Add(xmldoc["Bill"][crl.Controls[i].Name+j.ToString()+"2"].InnerText);
							lvitem.SubItems.Add(xmldoc["Bill"][crl.Controls[i].Name+j.ToString()+"3"].InnerText);
							lvi.Items.Add(lvitem);
						}
					}
					catch
					{}

//					for(int j=0;j<lvi.Items.Count;j++)
//					{
//						XmlElement newTitle=xmldoc.CreateElement(crl.Controls[i].Name+j.ToString());
//						newTitle.InnerText=lvi.Items[j].SubItems[0].Text;
//						xmldoc["Bill"].AppendChild(newTitle);
//					}
				}
			}
		}


		private void dotNetBarManager1_DockTabChange(object sender, DevComponents.DotNetBar.DockTabChangeEventArgs e)
		{
			Bar bar=sender as Bar;
			if(bar==null || e.NewTab==null)
				return;
			bar.Text=e.NewTab.Text;
		}
		private void PrintPreview()
		{
			this.pageSetupDialog1.ShowDialog();
			return;
		}
		private void Printer()
		{
//			PageSettings ps = new PageSettings();
//			ps.PaperSize = new PaperSize("ABC2",600,100);
//			ps.Margins = new Margins(0,0,0,0);
//			this.printDoc.DefaultPageSettings=ps;
			this.printDoc.DefaultPageSettings=this.pageSetupDialog1.PageSettings;
			this.printDoc.Print();
		}


		private void printDoc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
		{
			e.HasMorePages = false;
//			e.Graphics.DrawString("江苏金茂",new Font("宋体",10F),Brushes.Black,192F,100F);

			try
			{
				string path=System.IO.Path.GetDirectoryName(Application.ExecutablePath)+@"\SetPoint.xml";
				System.Xml.XmlDocument xmldoc=new System.Xml.XmlDocument();
				xmldoc.Load(path);


			if(this.ActiveMdiChild==null)
				return;
			frmDocument doc=this.ActiveMdiChild as frmDocument;
			if(doc==null)
				return;
			this.forPrint(doc,ref e,ref xmldoc);
			}
			catch(Exception err)
			{
				MessageBox.Show("打印格式未被找到或已经损坏!");
				return;
			}


		}
		private void forPrint(System.Windows.Forms.Control crl,ref System.Drawing.Printing.PrintPageEventArgs e,ref System.Xml.XmlDocument xmldoc)
		{
			string font=xmldoc["Setup"]["Font"].InnerText;
			float size=float.Parse(xmldoc["Setup"]["Size"].InnerText);
			for(int i=0;i<crl.Controls.Count;i++)
			{
				if(crl.Controls[i].Controls.Count>0)
				{
					this.forPrint(crl.Controls[i],ref e,ref xmldoc);
				}
				if(crl.Controls[i].Name.Length<=3||crl.Controls[i].Name=="TbxID")
				{
					continue;
				}
				if(crl.Controls[i].Name.Substring(0,3)=="Cbx"||crl.Controls[i].Name.Substring(0,3)=="Tbx")
				{
					try
					{
						float x=(float.Parse(xmldoc["Setup"][crl.Controls[i].Name].Attributes["x"].InnerText)+float.Parse(xmldoc["Setup"]["TheX"].InnerText))*40;
						float y=(float.Parse(xmldoc["Setup"][crl.Controls[i].Name].Attributes["y"].InnerText)+float.Parse(xmldoc["Setup"]["TheY"].InnerText))*40;
						e.Graphics.DrawString(crl.Controls[i].Text,new Font(font,size),Brushes.Black,x,y);
					}
					catch(Exception err)
					{
						string ii=err.ToString();
					}
				}
				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++)
						{
							try
							{
								float x=(float.Parse(xmldoc["Setup"][crl.Controls[i].Name].Attributes["x"].InnerText)+float.Parse(xmldoc["Setup"]["TheX"].InnerText)+float.Parse(xmldoc["Setup"][crl.Controls[i].Name].Attributes["row"+k.ToString()].InnerText))*40;
								float y=(float.Parse(xmldoc["Setup"][crl.Controls[i].Name].Attributes["y"].InnerText)+float.Parse(xmldoc["Setup"]["TheY"].InnerText)+float.Parse(xmldoc["Setup"][crl.Controls[i].Name].Attributes["cow"+j.ToString()].InnerText))*40;
								e.Graphics.DrawString(lvi.Items[j].SubItems[k].Text,new Font(font,size),Brushes.Black,x,y);
							}
							catch
							{}
						}
					}

				}
			}
		}


	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -