- Start Visual Studio .NET.
- Choose File->New->Project… from the menu.
- In the New Project dialog box, choose either "Visual C# Projects" or "Visual Basic Projects" in the Projects Type List, and choose "Windows Application " in the Templates List.
- Type the project name as "Updating a Guage and Detecting User Interrupt" in the Project Name field, and then choose OK. If desired, type a new location for your project or select a directory using the Browse button, and then choose OK .
- In the "Solution Explorer" window, right-click on the "References" folder, and select "Add Reference…" from the context menu. In the "Add Reference" dialog box, select the ".NET" tab and browse to the "<LEADTOOLS_INSTALLDIR>\Bin\DotNet\Win32 " folder and select the following DLLs:
- Leadtools.dll
- Leadtools.Codecs.dll
- Leadtools.Codecs.Cmp.dll
- Leadtools.WinForms.dll
- Leadtools.ImageProcessing.Core.dll
- Make sure Form1 is in design view. Go to the toolbox (View->Toolbox) and Drag and drop an instance of RasterImageViewer to the form. If you do not have RasterImageViewer in your toolbox, select Tools->Add Remove Toolbox Items from the menu. Click Browse, select Leadtools.WinForms.DLL from the "\LEAD Technologies\LEADTOOLS 17\Bin\DotNet\Win32" folder, click Open, and then click OK.
- From the toolbox (View->Toolbox), add a ProgressBar, a Button (Text = "Median") and and another Button (Text = "Cancel").
- Switch to Form1 code view (right-click Form1 in the solution explorer then select View Code ) and add the following lines at the beginning of the file:
[Visual Basic]
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.WinForms Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Core
[C#]using Leadtools; using Leadtools.Codecs; using Leadtools.WinForms; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core;
- Add an event handler to the Form1 Load event and add the following code:
[Visual Basic]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' load an image into our viewer Dim codecs As New RasterCodecs() rasterImageViewer1.Image = codecs.Load("C:\Users\Public\Documents\LEADTOOLS Images\Image3.cmp") ' disable the cancel button for now Button2.Enabled = False End Sub
[C#]private void Form1_Load(object sender, System.EventArgs e) { // load an image into our viewer RasterCodecs codecs = new RasterCodecs(); rasterImageViewer1.Image = codecs.Load(@"C:\Users\Public\Documents\LEADTOOLS Images\Image3.cmp"); // disable the cancel button for now button2.Enabled = false; }
- Double-click the "median" button on the form to add the event handler for it and add the following code:
[Visual Basic]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click canceled = False ProgressBar1.Value = 0 ' disable the median button and enable the cancel button Button1.Enabled = False Button2.Enabled = True Dim command As New MedianCommand(40) ' subscribe to the progress event AddHandler command.Progress, AddressOf median_Progress ' run the median command command.Run(RasterImageViewer1.Image) ' enable the median button and disable the cancel button Button1.Enabled = True Button2.Enabled = False ProgressBar1.Value = 0 End Sub
[C#]private void button1_Click(object sender, System.EventArgs e) { canceled = false; progressBar1.Value = 0; // disable the median button and enable the cancel button button1.Enabled = false; button2.Enabled = true; MedianCommand command = new MedianCommand(40); // subscribe to the progress event command.Progress += new EventHandler<RasterCommandProgressEventArgs>(median_Progress); // run the median command command.Run(rasterImageViewer1.Image); // enable the median button and disable the cancel button button1.Enabled = true; button2.Enabled = false; progressBar1.Value = 0; }
- Double-click the "cancel" button on the form to add the event handler for it and add the following code: [Visual Basic]
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' Cancel the median command canceled = True End Sub
[C#]private void button2_Click(object sender, System.EventArgs e) { // Cancel the median command canceled = true; }
- Add the below code to the Form1 class: [Visual Basic]
Private canceled As Boolean Private Sub median_Progress(ByVal sender As System.Object, ByVal e As RasterCommandProgressEventArgs) ' update the value of the progress bar ProgressBar1.Value = e.Percent ' determine whether the cancel button has been pressed If (canceled) Then e.Cancel = True End If Application.DoEvents() End Sub
[C#]private bool canceled; private void median_Progress(object sender, RasterCommandProgressEventArgs e) { // update the value of the progress bar progressBar1.Value = e.Percent; // determine whether the cancel button has been pressed if(canceled) e.Cancel = true; Application.DoEvents(); }
- Build, and Run the program to test it.