private void ReportPrinter_Load(object sender, EventArgs e) { this.printTimer = new Timer(); this.printTimer.Tick += new EventHandler(printTimer_Tick); // load each sheet into a separate item in the dropdown list foreach (DataSet ds in dsArray) { string username = ""; try { username = ds.ExtendedProperties["user"].ToString(); } catch { ds.ExtendedProperties["user"] = "******"; username = ds.ExtendedProperties["user"].ToString(); } tableSelector.Items.Add(username); } tableSelector.SelectedIndex = 0; // Hide print all if there's only one item to print. if (dsArray.Count <= 1) { btnPrintAll.Visible = false; } // Hide Statement Date selector if this isn't an invoice if (reportNumber != 2) { statementDate.Visible = false; invoiceDate.Visible = false; txtPayeeName.Visible = false; } // set up the IE page settings printSettings = new PrintSettings(); pageSetup(false, ref printSettings); }
/// <summary> /// Not Set: Reads page setup registry keys and clears their values. Stores old values in arguments. /// Set: Sets the values back to the arguments. /// </summary> private void pageSetup(bool set, ref PrintSettings printSettings) { Microsoft.Win32.RegistryKey pageKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\PageSetup", true); Microsoft.Win32.RegistryKey mainKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\Main", true); if (pageKey != null && mainKey != null) { // set back to original settings (as defined) if (set) { setRegValue(pageKey, "header", printSettings.Header); setRegValue(pageKey, "footer", printSettings.Footer); setRegValue(mainKey, "Print_Background", printSettings.PrintBG); setRegValue(pageKey, "margin_bottom", printSettings.BottomMargin); setRegValue(pageKey, "margin_top", printSettings.TopMargin); setRegValue(pageKey, "margin_left", printSettings.LeftMargin); setRegValue(pageKey, "margin_right", printSettings.RightMargin); } else // grab current settings from reg, store in args, set to desired. { printSettings.Header = getRegValue(pageKey, "header"); printSettings.Footer = getRegValue(pageKey, "footer"); printSettings.BottomMargin = getRegValue(pageKey, "margin_bottom"); printSettings.TopMargin = getRegValue(pageKey, "margin_top"); printSettings.LeftMargin = getRegValue(pageKey, "margin_left"); printSettings.RightMargin = getRegValue(pageKey, "margin_right"); printSettings.PrintBG = getRegValue(mainKey, "Print_Background"); setRegValue(pageKey, "header", " "); setRegValue(pageKey, "footer", " "); setRegValue(pageKey, "margin_bottom", "0.250000"); setRegValue(pageKey, "margin_top", "0.250000"); setRegValue(pageKey, "margin_left", "0.250000"); setRegValue(pageKey, "margin_right", "0.250000"); setRegValue(mainKey, "Print_Background", "yes"); } pageKey.Close(); mainKey.Close(); } System.Threading.Thread.Sleep(50); }