Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

TaskbarItemInfo (Clase)

Representa información sobre el modo en que se muestra la miniatura de la barra de tareas.

Espacio de nombres:  System.Windows.Shell
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: No asignado a un xmlns.

public sealed class TaskbarItemInfo : Freezable
<TaskbarItemInfo .../>

El tipo TaskbarItemInfo expone los siguientes miembros.

  NombreDescripción
Método públicoTaskbarItemInfoInicializa una nueva instancia de la clase TaskbarItemInfo.
Arriba

  NombreDescripción
Propiedad públicaCanFreezeObtiene un valor que indica si el objeto se puede convertir en no modificable. (Se hereda de Freezable).
Propiedad públicaDependencyObjectTypeObtiene el objeto DependencyObjectType que ajusta el tipo CLR de esta instancia.  (Se hereda de DependencyObject).
Propiedad públicaDescriptionObtiene o establece el texto de la información sobre herramientas del elemento de la barra de tareas.
Propiedad públicaDispatcherObtiene el objeto Dispatcher al que está asociado DispatcherObject. (Se hereda de DispatcherObject).
Propiedad públicaIsFrozenObtiene un valor que indica si el objeto es modificable actualmente. (Se hereda de Freezable).
Propiedad públicaIsSealedObtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura). (Se hereda de DependencyObject).
Propiedad públicaOverlayObtiene o establece la imagen que aparece sobre el icono de programa en el botón de la barra de tareas.
Propiedad públicaProgressStateObtiene o establece un valor que especifica el modo en que el indicador de progreso se muestra en el botón de la barra de tareas.
Propiedad públicaProgressValueObtiene o establece un valor que indica el llenado del indicador de progreso del botón de la barra de tareas.
Propiedad públicaThumbButtonInfosObtiene o establece la colección de objetos ThumbButtonInfo asociados a Window.
Propiedad públicaThumbnailClipMarginObtiene o establece un valor que especifica la parte del área de cliente de la ventana de la aplicación que aparece en la miniatura de la barra de tareas.
Arriba

  NombreDescripción
Método públicoCheckAccess Determina si el subproceso de la llamada tiene acceso a este DispatcherObject. (Se hereda de DispatcherObject).
Método públicoClearValue(DependencyProperty) Borra el valor local de una propiedad. La propiedad que se borrará se especifica mediante un identificador de DependencyProperty. (Se hereda de DependencyObject).
Método públicoClearValue(DependencyPropertyKey) Borra el valor local de una propiedad de sólo lectura. La propiedad que se borrará es especificada por DependencyPropertyKey. (Se hereda de DependencyObject).
Método públicoCloneCrea un clon modificable del objeto Freezable y hace copias en profundidad de sus valores. Al copiar las propiedades de dependencia del objeto, este método copia las expresiones (que puede que ya no se resuelvan) pero no las animaciones ni sus valores actuales. (Se hereda de Freezable).
Método protegidoCloneCoreConvierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con los valores de la propiedad base (no animada). (Se hereda de Freezable).
Método públicoCloneCurrentValueCrea un clon modificable (copia en profundidad) de Freezable con sus valores actuales. (Se hereda de Freezable).
Método protegidoCloneCurrentValueCoreConvierte la instancia en un clon modificable (en profundidad) del objeto Freezable especificado utilizando los valores de las propiedades actuales. (Se hereda de Freezable).
Método públicoCoerceValue Fuerza el valor de propiedad de la dependencia especificada. Esto se logra a cualquier función de CoerceValueCallback especificada en los metadatos de propiedad para la propiedad de dependencia tal como existe en el objeto DependencyObject que llama. (Se hereda de DependencyObject).
Método protegidoCreateInstanceInicializa una nueva instancia de la clase Freezable. (Se hereda de Freezable).
Método protegidoCreateInstanceCoreCuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada. (Se hereda de Freezable).
Método públicoEquals Determina si un DependencyObject proporcionado es equivalente a DependencyObject actual. (Se hereda de DependencyObject).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Se hereda de Object).
Método públicoFreeze()Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true. (Se hereda de Freezable).
Método protegidoFreezeCoreConvierte el objeto Freezable en no modificable o prueba si se puede convertir en no modificable. (Se hereda de Freezable).
Método públicoGetAsFrozenCrea una copia inmovilizada de Freezable, con los valores de la propiedad base (no animada). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetAsFrozenCoreConvierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de la propiedad base (no animada). (Se hereda de Freezable).
Método públicoGetCurrentValueAsFrozenCrea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetCurrentValueAsFrozenCoreConvierte la instancia actual en un clon inmovilizado de la clase Freezable especificada. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales. (Se hereda de Freezable).
Método públicoGetHashCode Obtiene un código hash para este DependencyObject. (Se hereda de DependencyObject).
Método públicoGetLocalValueEnumeratorCrea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject. (Se hereda de DependencyObject).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoGetValue Devuelve el valor efectivo actual de propiedad de dependencia en esta instancia de DependencyObject. (Se hereda de DependencyObject).
Método públicoInvalidatePropertyVuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Se hereda de DependencyObject).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnChangedSe llama cuando se modifica el objeto Freezable actual. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject)Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no se debe usar directamente desde el código. (Se hereda de Freezable).
Método protegidoOnPropertyChangedInvalida la implementación de DependencyObject de OnPropertyChanged para invocar también cualquier controlador Changed como respuesta a un cambio de propiedad de dependencia de tipo Freezable. (Se hereda de Freezable).
Método públicoReadLocalValue Devuelve el valor local de propiedad de dependencia, si existe. (Se hereda de DependencyObject).
Método protegidoReadPreambleSe asegura de que se tiene acceso a Freezable desde un subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que lean miembros de datos que no son propiedades de dependencia. (Se hereda de Freezable).
Método públicoSetCurrentValueEstablece el valor de una propiedad de dependencia sin cambiar el origen de su valor. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyProperty, Object)Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyPropertyKey, Object)Establece el valor local de una propiedad de dependencia de sólo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia. (Se hereda de DependencyObject).
Método protegidoShouldSerializePropertyDevuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada. (Se hereda de DependencyObject).
Método públicoToString Devuelve una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoVerifyAccessExige que el subproceso de la llamada tenga acceso a DispatcherObject. (Se hereda de DispatcherObject).
Método protegidoWritePostscriptProvoca el evento Changed de Freezable e invoca su método OnChanged. Las clases que se derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no se almacenen como propiedades de dependencia. (Se hereda de Freezable).
Método protegidoWritePreambleComprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de cualquier API que escriba en miembros de datos que no sean propiedades de dependencia. (Se hereda de Freezable).
Arriba

  NombreDescripción
Evento públicoChangedSe produce cuando se modifican la clase Freezable o un objeto que la contiene. (Se hereda de Freezable).
Arriba

  NombreDescripción
Campo públicoMiembro estáticoDescriptionPropertyIdentifica la propiedad de dependencia Description.
Campo públicoMiembro estáticoOverlayPropertyIdentifica la propiedad de dependencia Overlay.
Campo públicoMiembro estáticoProgressStatePropertyIdentifica la propiedad de dependencia ProgressState.
Campo públicoMiembro estáticoProgressValuePropertyIdentifica la propiedad de dependencia ProgressValue.
Campo públicoMiembro estáticoThumbButtonInfosPropertyIdentifica la propiedad de dependencia ThumbButtonInfos.
Campo públicoMiembro estáticoThumbnailClipMarginPropertyIdentifica la propiedad de dependencia ThumbnailClipMargin.
Arriba

La clase TaskbarItemInfo proporciona un contenedor administrado para la funcionalidad de barra de tareas Windows 7. Para obtener más información sobre el shell de Windows y API de barra de tareas nativa, vea Taskbar ExtensionsTaskbarItemInfo se expone como la propiedad de dependencia Window.TaskbarItemInfo en un Window.

La barra de tareas Windows 7 proporciona funcionalidad mejorada que le permite usar el elemento de la barra de tareas para comunicar su estado a un usuario, así como exponer las tareas comunes cuando la ventana se minimiza u oculta. La funcionalidad que expone la clase TaskbarItemInfo no está disponible en versiones de Windows anteriores a Windows 7. Las aplicaciones que usan la clase TaskbarItemInfo todavía se pueden ejecutar en versiones de Windows anteriores; sin embargo, estas mejoras de la barra de tareas no están disponibles en las versiones anteriores.

En Windows 7, puede que algunas funciones de la barra de tareas no estén disponibles, dependiendo de la configuración del usuario. Por ejemplo, la funcionalidad de la barra de tareas no está disponible si Windows Aero está deshabilitado o si la aplicación se inicia con permisos elevados. La aplicación debería proporcionar otras maneras para interactuar con el usuario que no dependan de la funcionalidad de la barra de tareas mejorada en Windows 7.

Los iconos de programa en el área de notificación, que se encuentra en el extremo derecho de la barra de tareas, se usan normalmente para comunicar el estado de la aplicación a un usuario. De forma predeterminada, la barra de tareas de Windows 7 oculta los iconos de programa en el área de notificación. Sin embargo, puede establecer la propiedad Overlay para agregar una imagen al botón de la barra de tareas para comunicar el estado, como el estado de conexión en una aplicación de mensajería. La imagen de superposición permite a los usuarios ver el estado de la aplicación incluso cuando no pueden ver el icono de programa en el área de notificación. También puede mostrar el progreso de las tareas en ejecución en el botón de la barra de tareas estableciendo las propiedades ProgressValue y ProgressState.

La barra de tareas Windows 7 muestra una miniatura de la aplicación cuando se mueve el puntero del mouse sobre el botón de la barra de tareas. De manera predeterminada, se muestra toda la ventana de la aplicación. Puede especificar una parte concreta de la ventana para mostrar en la miniatura estableciendo la propiedad ThumbnailClipMargin. También puede especificar Description que se muestra en la información sobre herramientas sobre la miniatura de la barra de tareas. La información sobre herramientas se muestra incluso cuando la miniatura no se puede ver debido a la configuración del usuario.

Puede agregar botones a la miniatura de la barra de tareas para proporcionar acceso a tareas comunes sin necesidad de cambiar a la ventana de la aplicación. Por ejemplo, el Reproductor de Windows Media proporciona los botones Reproducir, Pausa, Adelante y Atrás que le permiten controlar la reproducción de multimedia desde la barra de tareas en miniatura cuando se minimiza la aplicación. Los objetos ThumbButtonInfo representan los botones la miniatura de la barra de tareas y se contienen en la colección ThumbButtonInfos.

En la ilustración siguiente se muestra las características mejoradas de la barra de tareas de Windows 7.

Características mejoradas de la barra de tareas de Windows

Ejemplo de información de elemento de barra de tareas

En el ejemplo siguiente se muestra cómo crear TaskbarItemInfo en marcado. TaskbarItemInfo contiene una colección de objetos ThumbButtonInfo que proporcionan el acceso a los comandos Jugar y Detener del elemento de la barra de tareas.


<Window.TaskbarItemInfo>
    <TaskbarItemInfo x:Name="taskBarItemInfo1" 
                     Overlay="{StaticResource ResourceKey=StopImage}"
                     ThumbnailClipMargin="80,0,80,140"
                     Description="Taskbar Item Info Sample">
        <TaskbarItemInfo.ThumbButtonInfos>
            <ThumbButtonInfoCollection>
                <ThumbButtonInfo
                    DismissWhenClicked="False"
                    Command="MediaCommands.Play"
                    CommandTarget="{Binding ElementName=btnPlay}"
                    Description="Play"
                    ImageSource="{StaticResource ResourceKey=PlayImage}"/>
                <ThumbButtonInfo
                    DismissWhenClicked="True"
                    Command="MediaCommands.Stop"
                    CommandTarget="{Binding ElementName=btnStop}"
                    Description="Stop"
                    ImageSource="{StaticResource ResourceKey=StopImage}"/>
            </ThumbButtonInfoCollection>
        </TaskbarItemInfo.ThumbButtonInfos>
    </TaskbarItemInfo>
</Window.TaskbarItemInfo>


El siguiente marcado y código muestra el ejemplo anterior en su contexto completo. La aplicación usa BackgroundWorker para contar de 0 a 100, y muestra su progreso en la interfaz de usuario. La tarea se puede iniciar y detener desde la vista previa de la barra de tareas. El progreso se muestra en el botón de la barra de tareas.


<Window x:Class="Shell_TaskbarItemSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="300" Width="300">
    <Window.Resources>
        <DrawingImage x:Key="PlayImage">
            <DrawingImage.Drawing>
                <DrawingGroup>
                    <DrawingGroup.Children>
                        <GeometryDrawing Brush="Green" Geometry="F1 M 50,25L 0,0L 0,50L 50,25 Z "/>
                    </DrawingGroup.Children>
                </DrawingGroup>
            </DrawingImage.Drawing>
        </DrawingImage>
        <DrawingImage x:Key="StopImage">
            <DrawingImage.Drawing>
                <DrawingGroup>
                    <DrawingGroup.Children>
                        <GeometryDrawing Brush="Gray" Geometry="F1 M 0,0L 50,0L 50,50L 0,50L 0,0 Z "/>
                    </DrawingGroup.Children>
                </DrawingGroup>
            </DrawingImage.Drawing>
        </DrawingImage>
    </Window.Resources>
    <Window.CommandBindings>
        <CommandBinding Command="MediaCommands.Play"
                  Executed="StartCommand_Executed"
                  CanExecute="StartCommand_CanExecute"/>
        <CommandBinding Command="MediaCommands.Stop"
                  Executed="StopCommand_Executed"
                  CanExecute="StopCommand_CanExecute"/>
    </Window.CommandBindings>
    <Window.TaskbarItemInfo>
        <TaskbarItemInfo x:Name="taskBarItemInfo1" 
                         Overlay="{StaticResource ResourceKey=StopImage}"
                         ThumbnailClipMargin="80,0,80,140"
                         Description="Taskbar Item Info Sample">
            <TaskbarItemInfo.ThumbButtonInfos>
                <ThumbButtonInfoCollection>
                    <ThumbButtonInfo
                        DismissWhenClicked="False"
                        Command="MediaCommands.Play"
                        CommandTarget="{Binding ElementName=btnPlay}"
                        Description="Play"
                        ImageSource="{StaticResource ResourceKey=PlayImage}"/>
                    <ThumbButtonInfo
                        DismissWhenClicked="True"
                        Command="MediaCommands.Stop"
                        CommandTarget="{Binding ElementName=btnStop}"
                        Description="Stop"
                        ImageSource="{StaticResource ResourceKey=StopImage}"/>
                </ThumbButtonInfoCollection>
            </TaskbarItemInfo.ThumbButtonInfos>
        </TaskbarItemInfo>
    </Window.TaskbarItemInfo>

    <Grid>
        <StackPanel>
            <TextBlock x:Name="tbCount" FontSize="72" HorizontalAlignment="Center"/>
            <StackPanel Orientation="Horizontal">
                <Button x:Name="btnPlay" Content="Play" Command="MediaCommands.Play" />
                <Button x:Name="btnStop" Content="Stop" Command="MediaCommands.Stop" />
            </StackPanel>    
        </StackPanel>
    </Grid>
</Window>



' MainWindow.xaml.vb
Imports System.ComponentModel
Imports System.Windows.Shell

Class MainWindow
    Private _backgroundWorker As New BackgroundWorker

    Public Sub New()
        InitializeComponent()

        ' Set up the BackgroundWorker
        Me._backgroundWorker.WorkerReportsProgress = True
        Me._backgroundWorker.WorkerSupportsCancellation = True
        AddHandler Me._backgroundWorker.DoWork, AddressOf bw_DoWork
        AddHandler Me._backgroundWorker.ProgressChanged, AddressOf bw_ProgressChanged
        AddHandler Me._backgroundWorker.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
    End Sub

    Private Sub StartCommand_CanExecute(ByVal sender As System.Object, ByVal e As System.Windows.Input.CanExecuteRoutedEventArgs)
        e.CanExecute = True
        e.Handled = True
    End Sub

    Private Sub StartCommand_Executed(ByVal sender As System.Object, ByVal e As System.Windows.Input.ExecutedRoutedEventArgs)
        If Me._backgroundWorker.IsBusy = False Then
            Me._backgroundWorker.RunWorkerAsync()
            ' When the task is started, change the ProgressState and Overlay
            ' of the taskbar item to indicate an active task.
            Me.taskBarItemInfo1.ProgressState = Shell.TaskbarItemProgressState.Normal
            Me.taskBarItemInfo1.Overlay = Me.FindResource("PlayImage")
        End If
        e.Handled = True
    End Sub

    Private Sub StopCommand_CanExecute(ByVal sender As System.Object, ByVal e As System.Windows.Input.CanExecuteRoutedEventArgs)
        e.CanExecute = Me._backgroundWorker.WorkerSupportsCancellation
        e.Handled = True
    End Sub

    Private Sub StopCommand_Executed(ByVal sender As System.Object, ByVal e As System.Windows.Input.ExecutedRoutedEventArgs)
        Me._backgroundWorker.CancelAsync()
        e.Handled = True
    End Sub

    Private Sub bw_RunWorkerCompleted(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs)
        ' When the task ends, change the ProgressState and Overlay
        ' of the taskbar item to indicate a stopped task.
        If e.Cancelled = True Then
            ' The task was stopped by the user. Show the progress indicator
            ' in the paused state.
            Me.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.Paused
        ElseIf e.Error IsNot Nothing Then
            ' The task ended with an error. Show the progress indicator
            ' in the error state.
            Me.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.Error
        Else
            ' The task completed normally. Remove the progress indicator.
            Me.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.None
            ' In all cases, show the 'Stopped' overlay.
            Me.taskBarItemInfo1.Overlay = Me.FindResource("StopImage")
        End If
    End Sub

    Private Sub bw_ProgressChanged(ByVal sender As Object, ByVal e As ProgressChangedEventArgs)
        Me.tbCount.Text = e.ProgressPercentage.ToString()
        ' Update the value of the task bar progress indicator.
        Me.taskBarItemInfo1.ProgressValue = e.ProgressPercentage / 100
    End Sub

    Private Sub bw_DoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs)
        Dim _worker As BackgroundWorker = CType(sender, BackgroundWorker)
        If _worker IsNot Nothing Then
            For i As Integer = 1 To 100 Step 1
                If _worker.CancellationPending = True Then
                    e.Cancel = True
                    Return
                Else
                    System.Threading.Thread.Sleep(25)
                    _worker.ReportProgress(i)
                End If
            Next
        End If
    End Sub
End Class



// MainWindow.xaml.cs
using System.ComponentModel;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Shell;

namespace Shell_TaskbarItemSample
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private BackgroundWorker _backgroundWorker = new BackgroundWorker();

        public MainWindow()
        {
            InitializeComponent();

            // Set up the BackgroundWorker.
            this._backgroundWorker.WorkerReportsProgress = true;
            this._backgroundWorker.WorkerSupportsCancellation = true;
            this._backgroundWorker.DoWork += new DoWorkEventHandler(bw_DoWork);
            this._backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);
            this._backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
        }

        private void StartCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
        {
            e.CanExecute = true;
            e.Handled = true;
        }

        private void StartCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            if (this._backgroundWorker.IsBusy == false)
            {
                this._backgroundWorker.RunWorkerAsync();
                // When the task is started, change the ProgressState and Overlay
                // of the taskbar item to indicate an active task.
                this.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.Normal;
                this.taskBarItemInfo1.Overlay = (DrawingImage)this.FindResource("PlayImage");
            }
            e.Handled = true;
        }

        private void StopCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
        {
            e.CanExecute = this._backgroundWorker.WorkerSupportsCancellation;
            e.Handled = true;
        }

        private void StopCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            this._backgroundWorker.CancelAsync();
            e.Handled = true;
        }

        void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            // When the task ends, change the ProgressState and Overlay
            // of the taskbar item to indicate a stopped task.
            if (e.Cancelled == true)
            {
                // The task was stopped by the user. Show the progress indicator
                // in the paused state.
                this.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.Paused;
            }
            else if (e.Error != null)
            {
                // The task ended with an error. Show the progress indicator
                // in the error state.
                this.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.Error;
            }
            else
            {
                // The task completed normally. Remove the progress indicator.
                this.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.None;
            }
            // In all cases, show the 'Stopped' overlay.
            this.taskBarItemInfo1.Overlay = (DrawingImage)this.FindResource("StopImage");
        }

        void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            this.tbCount.Text = e.ProgressPercentage.ToString();
            // Update the value of the task bar progress indicator.
            this.taskBarItemInfo1.ProgressValue = (double)e.ProgressPercentage / 100;
        }

        void bw_DoWork(object sender, DoWorkEventArgs e)
        {        
            BackgroundWorker _worker = sender as BackgroundWorker;
            if (_worker != null)
            {
                for (int i = 1; i <= 100; i++)
                {
                    if (_worker.CancellationPending == true)
                    {
                        e.Cancel = true;
                        break;
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(25);
                        _worker.ReportProgress(i);
                    }
                }
            }
        }

    }   
}


.NET Framework

Compatible con: 4

.NET Framework Client Profile

Compatible con: 4

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Mostrar: