Form1.cs
using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using Bytescout.PDFViewer; namespace Example { public partial class Form1 : Form { public Form1() { InitializeComponent(); } protected override void OnLoad(EventArgs e) { pdfViewerControl1.InputFile = "sample.pdf"; base.OnLoad(e); } 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 cbMultiSelectMode_CheckedChanged(object sender, EventArgs e) { pdfViewerControl1.MultiSelectMode = cbMultiSelectMode.Checked; } private void cbAllowResizeSelection_CheckedChanged(object sender, EventArgs e) { pdfViewerControl1.AllowResizeSelectionRectangles = cbAllowResizeSelection.Checked; } private void cbLockSelection_CheckedChanged(object sender, EventArgs e) { pdfViewerControl1.LockSelection = cbLockSelection.Checked; } List<String> _labels = new List<string>(); private void pdfViewerControl1_SelectionChanged(object sender, SelectionChange selectionChange, int selectionIndex) { if (pdfViewerControl1.Selection.Length > _labels.Count) { for (int i = _labels.Count; i < pdfViewerControl1.Selection.Length; i++) { _labels.Add(new Random().Next().ToString()); } } } private void pdfViewerControl1_CustomPaint(object sender, PaintEventArgs e) { // Paint labels for (int i = 0; i < pdfViewerControl1.Selection.Length; i++) { Rectangle r = Rectangle.Round(pdfViewerControl1.Selection[i]); r = pdfViewerControl1.TranslateRectangleToViewport(r); Size textSize = TextRenderer.MeasureText(_labels[i], Font); Rectangle textRectangle = new Rectangle(r.Left, r.Top - textSize.Height - 6, textSize.Width + 2, textSize.Height + 2); e.Graphics.FillRectangle(Brushes.DarkBlue, textRectangle); TextRenderer.DrawText(e.Graphics, _labels[i], Font, textRectangle, Color.White, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter); } } } } [/csharp] <p><strong>Program.cs</strong></p> [csharp] using System; using System.Collections.Generic; using System.Windows.Forms; namespace Example { 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()); } } }