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

📄 frmmain.cs

📁 用c#编的一个invoice打印程序
💻 CS
📖 第 1 页 / 共 2 页
字号:
			}
			if(doc.FileName!="")
				doc.SaveFile();
		}
		private void SaveDocumentAs()
		{
			if(this.ActiveMdiChild==null)
				return;
			frmDocument doc=this.ActiveMdiChild as frmDocument;
			if(doc==null || !doc.DocumentChanged)
				return;
			if(doc.FileName=="")
			{
				SaveDocument(doc);
				return;
			}

			saveFileDialog1.ShowDialog();
			if(saveFileDialog1.FileName=="")
				return;
			doc.FileName=saveFileDialog1.FileName;
			doc.SaveFile();
		}

		private void LoadPopup(object sender, System.EventArgs e)
		{
			ButtonItem item=sender as ButtonItem;
			if(item.Name=="bTextColor" || item.Name=="bTabColor")
			{
				DevComponents.DotNetBar.PopupContainerControl container=item.PopupContainerControl as PopupContainerControl;
				ColorPicker clr=new ColorPicker();
				container.Controls.Add(clr);
				if(((ButtonItem)dotNetBarManager1.GetItem("bStyle2003")).Checked)
				{
					clr.BackColor=dotNetBarManager1.Bars[0].ColorScheme.BarBackground2;
					clr.tabStrip1.Style=eTabStripStyle.Office2003;
				}
				clr.Location=container.ClientRectangle.Location;
				container.ClientSize=clr.Size;
			}
		}

		private void UnloadPopup(object sender, System.EventArgs e)
		{
			ButtonItem item=sender as ButtonItem;
			if(item.Name=="bTextColor")
			{
				DevComponents.DotNetBar.PopupContainerControl container=item.PopupContainerControl as PopupContainerControl;
				ColorPicker clr=container.Controls[0] as ColorPicker;
				if(clr.SelectedColor!=Color.Empty)
				{
					frmDocument activedocument=this.ActiveMdiChild as frmDocument;
					if(activedocument!=null)
						activedocument.ExecuteCommand(item.Name,clr.SelectedColor);
				}
			}	
			else if(item.Name=="bTabColor")
			{
				DevComponents.DotNetBar.PopupContainerControl container=item.PopupContainerControl as PopupContainerControl;
				ColorPicker clr=container.Controls[0] as ColorPicker;
				if(clr.SelectedColor!=Color.Empty)
				{
					tabStrip1.ColorScheme.TabBackground=ControlPaint.LightLight(clr.SelectedColor);
					tabStrip1.ColorScheme.TabBackground2=clr.SelectedColor;
					tabStrip1.Refresh();
				}
				// Close popup menu, since it is not closed when Popup Container is closed...
				item.Parent.Expanded=false;
			}
		}

		private void ContainerLoadControl(object sender, System.EventArgs e)
		{
			BaseItem item=sender as BaseItem;
			if(item==null)
				return;
			if(item.Name=="cTaskShowatstartup")
			{
				ControlContainerItem containerItem=item as ControlContainerItem;
				CheckBox box=new CheckBox();
				box.Text="Show at startup";
				box.FlatStyle=FlatStyle.Flat;
				box.Size = new System.Drawing.Size(95, 17);
				box.TabStop=false;
				box.Checked=true;
				box.CheckedChanged+=new EventHandler(this.TaskPaneShowAtStartup);
				containerItem.Control=box;
			}
			else if(item.Name=="dockTaskList")
			{
				// See DefinitionLoaded event handler for Customize menu assignment for the bar that is containing this dock item 
				DockContainerItem dockItem=item as DockContainerItem;
				dockItem.Control=new TaskList();
				// Setting Displayed property for DockContainerItem will make sure that its tab is displayed first
				dockItem.Displayed=true;
			}
			else if(item.Name=="dockSearchResults")
			{
				// Just add the list box as a example...
				DockContainerItem dockItem=item as DockContainerItem;
				ListBox listbox=new ListBox();
				// This will set the minimum size for the DockContainerItem
				listbox.Size=new Size(32,32);
				// Must let the DockContainerItem resize it at will...
				listbox.IntegralHeight=false;
				dockItem.Control=listbox;				
			}
		}

		private void ChangeDotNetBarStyle(eDotNetBarStyle style)
		{
			
			((ButtonItem)dotNetBarManager1.GetItem("bStyle2000")).Checked=(style==eDotNetBarStyle.Office2000);
			((ButtonItem)dotNetBarManager1.GetItem("bStyle2003")).Checked=(style==eDotNetBarStyle.Office2003);
			((ButtonItem)dotNetBarManager1.GetItem("bStyleXP")).Checked=(style==eDotNetBarStyle.OfficeXP);

            dotNetBarManager1.Style=style;
			if(style==eDotNetBarStyle.Office2003 || style==eDotNetBarStyle.OfficeXP)
			{
				if(dotNetBarManager1.IsThemeActive)
				{
					BaseItem item=dotNetBarManager1.GetItem("bThemes");
					item.Visible=true;
					((Bar)item.ContainerControl).RecalcLayout();
				}
			}
			else if(dotNetBarManager1.IsThemeActive)
			{
				dotNetBarManager1.GetItem("bThemes").Visible=false;
			}

			if(style==eDotNetBarStyle.Office2003)
			{
				tabStrip1.Style=eTabStripStyle.OneNote;
				dotNetBarManager1.Bars["barTaskPane"].BackColor=Color.Empty;
				((ControlContainerItem)dotNetBarManager1.GetItem("cTaskShowatstartup")).Control.BackColor=dotNetBarManager1.Bars[0].ColorScheme.BarBackground2;
			}
			else
			{
				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...
			if(item.Name=="bThemes" && timer1.Enabled)
			{
				timer1.Enabled=false;
				((ButtonItem)item).ForeColor=Color.Empty;
			}
		}

		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
			if(dotNetBarManager1.IsThemeActive)
			{
				dotNetBarManager1.GetItem("bThemes").Visible=true;
				timer1.Enabled=true;
			}

			// 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 timer1_Tick(object sender, System.EventArgs e)
		{
			// Flash Item to attract attention...
            ButtonItem item=dotNetBarManager1.GetItem("bThemes") as ButtonItem;
			if(item.ForeColor==Color.Red)
				item.ForeColor=Color.Empty;
			else
				item.ForeColor=Color.Red;

			ProgressBarItem progress=dotNetBarManager1.GetItem("itemProgressBar") as ProgressBarItem;
			if(progress.Value==progress.Maximum)
				progress.Value=progress.Minimum;
			else
				progress.Increment(10);
		}

		private void EnableThemes(ButtonItem item)
		{
			bool bEnable=!item.Checked;
			item.Checked=bEnable;
			if(bEnable)
				item.Text="Disable Themes";
			else
				item.Text="Enable Themes";

			dotNetBarManager1.ThemeAware=bEnable;

			if(bEnable)
                tabStrip1.Style=eTabStripStyle.Themed;
			else if(((ButtonItem)dotNetBarManager1.GetItem("bStyle2003")).Checked)
				tabStrip1.Style=eTabStripStyle.Office2003;
			else
				tabStrip1.Style=eTabStripStyle.Flat;

			this.Refresh();
		}

		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 timerInfoBallon_Tick(object sender, System.EventArgs e)
		{
			timerInfoBallon.Enabled=false;
			m_InfoBalloon=new Balloon();
			m_InfoBalloon.CaptionImage=new Bitmap(typeof(frmMain),"Info.png");
			m_InfoBalloon.CaptionText="New DotNetBar Feature Alert...";
			m_InfoBalloon.Text="DotNetBar now includes Balloon control to help you convey your information effectively to the end-user.\nCheck out Find command implementation in this sample for an example of highly customized Balloon control.";
			m_InfoBalloon.AutoResize();
			BaseItem item=dotNetBarManager1.Bars["edit"].Items["bFind"];
			m_InfoBalloon.AutoCloseTimeOut=10;
			m_InfoBalloon.Owner=this;
			m_InfoBalloon.Show(item,false);
		}

		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)
		{
			frmDocument activedocument=this.ActiveMdiChild as frmDocument;
			if(activedocument!=null)
				activedocument.ExecuteCommand("bFind",text);
		}

		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;
		}
	}
}

⌨️ 快捷键说明

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