Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As seguintes são considerações gerais sobre o manuseio de threads ao desenvolver para Tablet PC.
- threads de aplicativos e não aplicativos
- Considerações sobre desempenho
-
As Considerações sobre o encadeamento de eventos
- de eventos de objetos InkCollector e InkOverlay
- de eventos da coleção Ink Object and Strokes
- Eventos de Reconhecimento
- Eventos do Painel de Entrada de Caneta
- Tópicos relacionados
Threads de aplicativos e não aplicativos
Todos os eventos de tinta são gerados num fio de tinta separado e de alta prioridade. Isso permite que a tinta flua suavemente, mesmo quando um aplicativo está sendo executado lentamente. No entanto, os manipuladores de eventos podem diminuir ou bloquear a renderização de tinta.
Todos os eventos de reconhecimento gerados por chamadas de método de reconhecimento em segundo plano são tratados em uma thread separada de reconhecimento em segundo plano, com prioridade normal.
Todos os eventos do mouse são gerados no thread principal da interface do usuário (UI) do aplicativo.
Considerações sobre desempenho
Gestores de Eventos
A interface de programação de aplicativos (API) da plataforma Tablet PC tem um modelo interativo para eventos em vez de um modelo de notificação. Mantenha o código nos manipuladores de eventos curto(s) para reduzir o tempo em que a renderização de tinta está bloqueada. A coleta de tinta pelo Tablet PC não é bloqueada, mas seu aplicativo não recebe a tinta enquanto o aplicativo está bloqueado.
Propriedade AutoRedraw
Quando o seu aplicativo está a executar renderização personalizada ou é sensível a problemas de pintura, pode-se manipular a repintura por conta própria, podendo definir a propriedade AutoRedraw para falso no objeto InkCollector, no objeto InkOverlay ou no controlo InkPicture. Use os eventos na tabela seguinte para gerir a repintura.
| Objeto ou controle | Evento |
|---|---|
|
objeto de InkCollector |
O controle subjacente tem os eventos Control.Invalidated e Control.Paint. |
|
InkOverlay objeto |
Os eventos do controle subjacente Control.Invalidated e Control.Paint. |
|
Controlador InkPicture |
InkPicture controlo herdou os eventos Control.Invalidated e Control.Paint. |
Propriedade DynamicRendering
Quando seu aplicativo está executando renderização personalizada ou quando você deseja as informações, mas não a tinta, você mesmo pode lidar com a colocação de tinta e desativar a renderização de tinta em tempo real definindo a propriedade DynamicRendering como falso para o objetoInkCollector, o objetoInkOverlay, ou o controle de InkPicture.
Considerações sobre o encadeamento de eventos
Os eventos da API da plataforma Tablet PC são gerados em várias threads.
Eventos de objetos InkCollector e InkOverlay
A maioria dos eventos de objeto, como InkCollector e InkOverlay , são gerados no thread de tinta. Somente os eventos do mouse para esses objetos são gerados no thread da interface do usuário. Por exemplo, para o objeto InkCollector, o evento MouseDown é gerado no thread da interface do usuário e o evento CursorDown é gerado no thread de tinta.
Eventos da coleção Ink Object and Strokes
Os eventos Ink object e Strokes collection podem vir do thread de tinta ou do thread da interface do usuário. Quando a sua aplicação manipula o objeto Ink ou a coleção de Strokes , o evento é gerado no thread da interface do utilizador. Quando o InkCollector ou o InkOverlay atualiza o objeto Ink ou a coleção Strokes, o evento é gerado na thread de tinta.
Os controles InkPicture e InkEdit operam em um apartamento de thread único (STA). Quando o controle InkPicture ou InkEdit atualiza o objeto Ink ou coleção de Strokes, o evento é gerado no thread da interface do usuário.
Eventos de Reconhecimento
Os eventos de reconhecimento são gerados no thread da interface do usuário ou no thread de reconhecimento em segundo plano.
- O método InkEdit do controlo Recognize gera o evento Reconhecimento (somente Biblioteca Gerenciada) ou o evento RecognitionResult (somente Automação) no thread da interface do utilizador.
- Os métodos deRecognizerContext objeto BackgroundRecognize eBackgroundRecognizeWithAlternates geram os eventos Recognition e RecognitionWithAltern ates no thread de reconhecimento em segundo plano.
Eventos do painel de entrada de caneta no ecrã tátil
PenInputPanel eventos são gerados no thread no qual o PenInputPanel objeto é criado.