Link Search Menu Expand Document

Custom MultiKey Press Event Handling - C#

PDF Viewer SDK sample in C# demonstrating ‘Custom MultiKey Press Event Handling’

Form1.Designer.cs
��namespace MultikeyPressEventHandling

{

	partial class Form1

	{

		/// <summary>

		/// Required designer variable.

		/// </summary>

		private System.ComponentModel.IContainer components = null;



		/// <summary>

		/// Clean up any resources being used.

		/// </summary>

		/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>

		protected override void Dispose(bool disposing)

		{

			if (disposing && (components != null))

			{

				components.Dispose();

			}

			base.Dispose(disposing);

		}



		#region Windows Form Designer generated code



		/// <summary>

		/// Required method for Designer support - do not modify

		/// the contents of this method with the code editor.

		/// </summary>

		private void InitializeComponent()

		{

            this.pdfViewerControl1 = new Bytescout.PDFViewer.PDFViewerControl();

            this.toolStrip1 = new System.Windows.Forms.ToolStrip();

            this.tsbOpen = new System.Windows.Forms.ToolStripButton();

            this.toolStrip1.SuspendLayout();

            this.SuspendLayout();

            // 

            // pdfViewerControl1

            // 

            this.pdfViewerControl1.BackColor = System.Drawing.SystemColors.ButtonShadow;

            this.pdfViewerControl1.Dock = System.Windows.Forms.DockStyle.Fill;

            this.pdfViewerControl1.Location = new System.Drawing.Point(0, 27);

            this.pdfViewerControl1.Margin = new System.Windows.Forms.Padding(4);

            this.pdfViewerControl1.MouseMode = Bytescout.PDFViewer.MouseMode.Hand;

            this.pdfViewerControl1.Name = "pdfViewerControl1";

            this.pdfViewerControl1.RegistrationKey = null;

            this.pdfViewerControl1.RegistrationName = null;

            this.pdfViewerControl1.ResetRotationOnPageChange = false;

            this.pdfViewerControl1.Scale = 100;

            this.pdfViewerControl1.SelectionColor = System.Drawing.Color.Red;

            this.pdfViewerControl1.ShowImageObjects = true;

            this.pdfViewerControl1.ShowTextObjects = true;

            this.pdfViewerControl1.ShowVectorObjects = true;

            this.pdfViewerControl1.Size = new System.Drawing.Size(1123, 636);

            this.pdfViewerControl1.TabIndex = 0;

            this.pdfViewerControl1.PreProcessKey += new Bytescout.PDFViewer.PreProcessKeyEventHandler(this.PdfViewerControl1_PreProcessKey);

            // 

            // toolStrip1

            // 

            this.toolStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);

            this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {

            this.tsbOpen});

            this.toolStrip1.Location = new System.Drawing.Point(0, 0);

            this.toolStrip1.Name = "toolStrip1";

            this.toolStrip1.Size = new System.Drawing.Size(1123, 27);

            this.toolStrip1.TabIndex = 1;

            this.toolStrip1.Text = "toolStrip1";

            // 

            // tsbOpen

            // 

            this.tsbOpen.Image = global::MultikeyPressEventHandling.Properties.Resources.folder_page;

            this.tsbOpen.ImageTransparentColor = System.Drawing.Color.Magenta;

            this.tsbOpen.Name = "tsbOpen";

            this.tsbOpen.Size = new System.Drawing.Size(99, 24);

            this.tsbOpen.Text = "&Open PDF";

            this.tsbOpen.Click += new System.EventHandler(this.tsbOpen_Click);

            // 

            // Form1

            // 

            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);

            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

            this.ClientSize = new System.Drawing.Size(1123, 663);

            this.Controls.Add(this.pdfViewerControl1);

            this.Controls.Add(this.toolStrip1);

            this.Margin = new System.Windows.Forms.Padding(4);

            this.Name = "Form1";

            this.Text = "MultiKey Press Event - Try Shift+A, Ctrl-Alt-Shift-A";

            this.toolStrip1.ResumeLayout(false);

            this.toolStrip1.PerformLayout();

            this.ResumeLayout(false);

            this.PerformLayout();



		}



		#endregion



		private Bytescout.PDFViewer.PDFViewerControl pdfViewerControl1;

		private System.Windows.Forms.ToolStrip toolStrip1;

		private System.Windows.Forms.ToolStripButton tsbOpen;

	}

}




Form1.cs
using System;
using System.Windows.Forms;

namespace MultikeyPressEventHandling
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}

		private void tsbOpen_Click(object sender, EventArgs e)
		{
			using (OpenFileDialog openFileDialog = new OpenFileDialog())
			{
				openFileDialog.Title = @"Open PDF Document";
				openFileDialog.Filter = @"PDF Files (*.pdf)|*.pdf|All Files|*.*";

				if (openFileDialog.ShowDialog() == DialogResult.OK)
				{
					this.Text = openFileDialog.FileName;

					Cursor = Cursors.WaitCursor;

					try
					{
						pdfViewerControl1.InputFile = openFileDialog.FileName;
					}
					catch (Exception exception)
					{
						MessageBox.Show(exception.Message);
					}
					finally
					{
						Cursor = Cursors.Default;
					}
				}
			}
		}

        private void PdfViewerControl1_PreProcessKey(object source, Keys keyData, ref bool handled)
        {
            if (keyData == (Keys.A | Keys.Shift))
            {
                MessageBox.Show("Shift-A");
                handled = true;
            }

            if (keyData == (Keys.A | Keys.Control | Keys.Alt | Keys.Shift))
            {
                MessageBox.Show("Ctrl-Alt-Shift-A");
                handled = true;
            }
        }
    }
}

Program.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace MultikeyPressEventHandling
{
	static class Program
	{
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main()
		{
			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			Application.Run(new Form1());
		}
	}
}

Resources.Designer.cs
��//------------------------------------------------------------------------------

// <auto-generated>

//     This code was generated by a tool.

//     Runtime Version:2.0.50727.5448

//

//     Changes to this file may cause incorrect behavior and will be lost if

//     the code is regenerated.

// </auto-generated>

//------------------------------------------------------------------------------



namespace MultikeyPressEventHandling.Properties {

    using System;

    

    

    /// <summary>

    ///   A strongly-typed resource class, for looking up localized strings, etc.

    /// </summary>

    // This class was auto-generated by the StronglyTypedResourceBuilder

    // class via a tool like ResGen or Visual Studio.

    // To add or remove a member, edit your .ResX file then rerun ResGen

    // with the /str option, or rebuild your VS project.

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

    internal class Resources {

        

        private static global::System.Resources.ResourceManager resourceMan;

        

        private static global::System.Globalization.CultureInfo resourceCulture;

        

        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]

        internal Resources() {

        }

        

        /// <summary>

        ///   Returns the cached ResourceManager instance used by this class.

        /// </summary>

        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]

        internal static global::System.Resources.ResourceManager ResourceManager {

            get {

                if (object.ReferenceEquals(resourceMan, null)) {

                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MultikeyPressEventHandling.Properties.Resources", typeof(Resources).Assembly);

                    resourceMan = temp;

                }

                return resourceMan;

            }

        }

        

        /// <summary>

        ///   Overrides the current thread's CurrentUICulture property for all

        ///   resource lookups using this strongly typed resource class.

        /// </summary>

        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]

        internal static global::System.Globalization.CultureInfo Culture {

            get {

                return resourceCulture;

            }

            set {

                resourceCulture = value;

            }

        }

        

        internal static System.Drawing.Bitmap folder_page {

            get {

                object obj = ResourceManager.GetObject("folder_page", resourceCulture);

                return ((System.Drawing.Bitmap)(obj));

            }

        }

    }

}


Settings.Designer.cs
��//------------------------------------------------------------------------------

// <auto-generated>

//     This code was generated by a tool.

//     Runtime Version:2.0.50727.5448

//

//     Changes to this file may cause incorrect behavior and will be lost if

//     the code is regenerated.

// </auto-generated>

//------------------------------------------------------------------------------



namespace MultikeyPressEventHandling.Properties

{





	[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]

	internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase

	{



		private static Settings defaultInstance = ((Settings) (global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));



		public static Settings Default

		{

			get

			{

				return defaultInstance;

			}

		}

	}

}


Download Source Code (.zip)

Return to the previous page Explore PDF Viewer SDK