Académique Documents
Professionnel Documents
Culture Documents
Hay diversos tipos de temporizadores desde los que son usados en el hogar para cocinar,
hasta los que son usados en la automatización de procesos de industriales, tienen diferentes
clases de componentes que tienen como fin la misma función, pero cada uno sirve para
algún proceso en específico:
Temporizador térmico que actúa por calentamiento de una lámina bimetálica, el tiempo se
determina por la curva que adquiere la lámina.
Temporizador neumático, está basado en la acción de un fuelle que se comprime al ser
accionado por un electroimán. El fuelle ocupa su posición que lentamente, ya que el aire
entra por un pequeño orificio, al variar el tamaño del orificio cambia el tiempo de
recuperación y por consecuencia la temporización.
Temporizador electrónico, el principio oes la descarga de un condensador mediante una
resistencia. Por lo general se emplean ccondensadores electrolíticos.
Temporizador magnético, se obtiene ensartando en el núcleo magnético, un tubo de cobre.
En Bricos contamos con un amplia variedad de temporizadores , contadores y relés,
llamenos al 8150 1850 o visítenos en Av. Madero 718 Pte entre Amado Nervo y Rayón, en
el centro de Monterrey, para observar el funcionamiento de los temporizadores y relés que
tenemos instalados en nuestro Showroom. Contáctenos para encontrar las mejores
soluciones de control y automatización, puede enviar sus dudas y comentarios a
info@bricos.com
Barras de progreso
Esta herramienta como otras de visual basic también cuenta con propiedades para manipular su
estructura o sus valores, algunas de las propiedades más importantes de esta herramienta son:
Name: Esta propiedad muestra el nombre de nuestra barras de Progreso cómo es tener mucho cuidado
con este nombre ya que se modificado deberemos también modificar nuestro código base.
Maximum: Este es el valor máximo al que puede llegar nuestra barra el valor preestablecido es de 100
siendo referencia a 100%.
Minimum: Esta propiedad es el valor mínimo de la barra para que la barra comience desde cero el valor
debe ser cero.
Value: Si queremos que la barra inicio por ejemplo desde un 50% deberemos de ingresar en esta
propiedad el valor de 50, digamos que es el punto de inicio de nuestra barra.
Enabled: Esta propiedad especifica si la barra de progreso esta activada o no, si no lo llegara a estar
significa que solo se activara al realizar una acción en el programa.
Visible: esta propiedad nos permite activar o desactivar la visibilidad del progreso de la barra.
PASO 1: Bien, como primer paso debemos abrir nuestro programa, crear un nuevo proyecto y realizar el
diseño que te mostraremos a continuación (este diseño fue realizar con las
herramientas: PictureBox, Labely Progressbar), también deberemos crear otro formulario
llamado Form2, este sera el formulario que se abrirá cuando nuestra barra llegue a 100%. Si no sabes
como crearlo te recomiendo visitar este articulo: Ventanas Graficas
PASO 2: Bien una vez que tengamos nuestro diseño listo procedemos a cambiar los valores máximos y
mínimos de nuestra Progressbar, los valores deben ser 0 y 100, tal y como se muestra a continuación:
Barras de progreso – Figura 3
PASO 4: Ahora debemos seleccionar una vez nuestro Timer e ir a sus propiedades y cambiar las
propiedades Enabled en True e Interval en 40.
Barras de progreso – Figura 4.1
PASO 5: Ahora solamente deberemos colocar el siguiente código en nuestro formulario 1 (Form1), este
código abarca la ProgressBar y el Timer.
Public Class Form1
ProgressBar1.Value = 0.0
ProgressBar1.Maximum = 100
Timer1.Interval = 40
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles
Timer1.Tick
ProgressBar1.Value = CONTADOR
CONTADOR = CONTADOR + 1
Else
Timer1.Enabled = False
Me.Hide()
Form2.Show()
End If
End Sub
End Class
En el programa se declaro una variable publica llamada CONTADOR, para que se pudiera cumplir los
siclos del código base.
PASO 6: Ahora debemos ir ala ventana derecha de Visual Studio y seleccionar nuestro
proyecto que debe llamarse WindowsApplication1 (o si le cambiaron el nombre debe aparecer
con el nombre que le asignaron), damos clic derecho sobre el y nos vamos a la opción
propiedades, una vez hechos nos saldrá una ventana como esta:
De esta forma al cerrar el formulario hijo (Form2) se cerrara todo el proceso, si no se hace este paso y
cerramos el formulario hijo, el formulario padre (Form1) seguirá abierto pero oculto, con esto evitamos
ese problema.
Si has realizado la practica y llegaste a este punto significa que tu proyecto ya esta listo, solo falta
probarlo, a continuación te dejamos un vídeo que muestra el funcionamiento
CUADRO DE DIALOGOS PREDEFINIDOS
Aplicaciones independientes tienen normalmente una ventana principal que tanto
muestra los datos principales en el que la aplicación funciona y expone la
funcionalidad necesaria para procesar los datos a través de interfaz de usuario
(UI) mecanismos como barras de menús, barras de herramientas y barras de
estado. Una aplicación no trivial también puede mostrar ventanas adicionales para
realizar lo siguiente:
Estos tipos de ventanas se conocen como cuadros de diálogo, y hay dos tipos:
modales y no modales.
A no modales cuadro de diálogo, por otro lado, no impide que un usuario active
otras ventanas mientras está abierto. Por ejemplo, si un usuario quiere buscar las
repeticiones de una palabra determinada en un documento, a menudo una
ventana principal abrirá un cuadro de diálogo para solicitar al usuario la palabra
que está buscando. En cambio, como buscar una palabra no impide que un usuario
edite el documento, el cuadro de diálogo no necesita ser modal. Un cuadro de
diálogo no modal proporciona al menos un cerrar botón para cerrar el cuadro de
diálogo y puede proporcionar botones adicionales para ejecutar funciones
específicas, como un Buscar siguientebotón para buscar la siguiente de word que
coincide con los criterios de búsqueda de una búsqueda de palabras.
Windows Presentation Foundation (WPF) le permite crear varios tipos de cuadros
de diálogo, incluidos cuadros de mensaje, cuadros de diálogo comunes y cuadros
de diálogo personalizados.Este tema describe cada uno y el Dialog Box
Sample proporciona ejemplos de búsqueda de coincidencias.
Cuadros de mensaje
El cuadro de diálogo Abrir archivo, que se muestra en la siguiente figura, se usa por
la función de apertura de archivos para recuperar el nombre de un archivo que se
va a abrir.
El cuadro de diálogo Abrir archivo común se implementa como
el OpenFileDialog clase y se encuentra en la Microsoft.Win32 espacio de
nombres. En el siguiente código se muestra cómo crear, configurar y mostrar uno,
y cómo procesar el resultado.
C#Copiar
Aunque los cuadros de diálogo comunes son útiles, y deben usarse cuando sea
posible, no admiten los requisitos de los cuadros de diálogo específicos de
dominio. En estos casos, necesita crear sus propios cuadros de diálogo. Como
veremos, un cuadro de diálogo es una ventana con comportamientos
especiales. Windowimplementa esos comportamientos y, por lo tanto,
utilice Window para crear cuadros de diálogo modales y no modales
personalizados.
Crear un cuadro de diálogo modal personalizado
Este tema muestra cómo usar Window para crear una implementación de cuadro
de diálogo modal típico, utilizando el Margins cuadro de diálogo como ejemplo
(vea Dialog Box Sample). El Margins cuadro de diálogo se muestra en la ilustración
siguiente.
Configurar un cuadro de diálogo modal
Los distintos controles que se necesitan para recopilar los datos deseados.
Mostrar un Aceptar botón que los usuarios, haga clic en para cerrar el cuadro
de diálogo, vuelva a la función y continuar con el procesamiento.
Mostrar un cancelar botón que los usuarios hacen clic para cerrar el cuadro
de diálogo y detener la función de procesamiento posterior.
Mostrar un cerrar botón en la barra de título.
Mostrar un icono.
Mostrar minimizar, maximizar, y restaurar botones.
Mostrar un System menú para minimizar, maximizar, restaurar y cerrar el
cuadro de diálogo.
Apertura encima y en el centro de la ventana que ha abierto el cuadro de
diálogo.
Los cuadros de diálogo deben ser redimensionables donde sea posible, para
evitar que el cuadro de diálogo sea demasiado pequeño y para proporcionar
al usuario un tamaño predeterminado útil, necesita establecer las
dimensiones mínimas y predeterminadas respectivamente.
Al presionar la tecla ESC debe configurarse como un método abreviado de
teclado que provoca la cancelar botón presionado. Esto se logra
estableciendo la IsCancel propiedad de la cancelar botón a true .
Al presionar la tecla ENTRAR (o retorno) debe configurarse como un método
abreviado de teclado que provoca la Aceptar botón presionado. Esto se logra
estableciendo la IsDefaultpropiedad de la Aceptar botón true .
<Grid>
XAMLCopiar
</Grid >
</Window>
C#Copiar
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace SDKSample
{
public partial class MarginsDialogBox : Window
{
public MarginsDialogBox()
{
InitializeComponent();
}
C#Copiar
}
}
<!--Main Window-->
XAMLCopiar
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Win32;
namespace SDKSample
{
public partial class MainWindow : Window
{
C#Copiar
C#Copiar
C#Copiar
}
}
Para validar un control enlazado en WPF, debe definir una regla de validación y
asociarlo con el enlace. Una regla de validación es una clase personalizada que
deriva de ValidationRule. En el ejemplo siguiente se muestra una regla de
validación, MarginValidationRule , que comprueba que un valor enlazado es
un Double y está dentro del intervalo especificado.
C#Copiar
using System.Globalization;
using System.Windows.Controls;
namespace SDKSample
{
public class MarginValidationRule : ValidationRule
{
double minMargin;
double maxMargin;
public double MinMargin
{
get { return this.minMargin; }
set { this.minMargin = value; }
}
// Is a number?
if (!double.TryParse((string)value, out margin))
{
return new ValidationResult(false, "Not a number.");
}
// Is in range?
if ((margin < this.minMargin) || (margin > this.maxMargin))
{
string msg = string.Format("Margin must be between {0} and
{1}.", this.minMargin, this.maxMargin);
return new ValidationResult(false, msg);
}
// Number is valid
return new ValidationResult(true, null);
}
}
}
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.MarginsDialogBox"
xmlns:local="clr-namespace:SDKSample"
Title="Margins"
Height="190"
Width="300"
MinHeight="10"
MinWidth="300"
ResizeMode="CanResizeWithGrip"
ShowInTaskbar="False"
WindowStartupLocation="CenterOwner"
FocusManager.FocusedElement="{Binding ElementName=leftMarginTextBox}">
<Grid>
XAMLCopiar
XAMLCopiar
</Window>
Una vez que está asociada, la regla de validación WPF lo aplicará automáticamente
cuando se escriben datos en el control enlazado. Cuando un control contiene datos
no válidos, WPF mostrará un borde rojo alrededor del control no válido, tal como
se muestra en la ilustración siguiente.
WPF no restringe un usuario al control no válido hasta que haya especificado los
datos válidos.Este es un buen comportamiento para un cuadro de diálogo; un
usuario debe poder navegar libremente por los controles de un cuadro de diálogo
sean los datos válidos o no. Sin embargo, esto significa que un usuario puede
escribir datos no válidos y presione la Aceptar botón. Por este motivo, el código
también debe validar todos los controles en un cuadro de diálogo cuadro cuando
el Aceptar se presiona el botón controlando el Click eventos.
C#Copiar
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace SDKSample
{
public partial class MarginsDialogBox : Window
{
C#Copiar
C#Copiar
}
Cuando el Aceptar se hace clic en el botón, ShowDialog debe devolver true . Esto
se logra estableciendo la DialogResult propiedad del cuadro de diálogo cuadro
cuando el Aceptar se hace clic en el botón.
C#Copiar
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace SDKSample
{
public partial class MarginsDialogBox : Window
{
C#Copiar
C#Copiar
C#Copiar
}
}
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace SDKSample
{
public partial class MarginsDialogBox : Window
{
C#Copiar
C#Copiar
}
}
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Win32;
namespace SDKSample
{
public partial class MainWindow : Window
{
C#Copiar
C#Copiar
C#Copiar
}
}
Si el resultado del diálogo es true , la función que utiliza como una indicación para
recuperar y procesar los datos proporcionados por el usuario.
Nota
Después de ShowDialog ha devuelto, no se puede volver a abrir un cuadro de
diálogo. En su lugar, necesita crear una instancia nueva.
<!--Main Window-->
C#Copiar
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Win32;
namespace SDKSample
{
public partial class MainWindow : Window
{
C#Copiar
C#Copiar
}
}
using System;
namespace SDKSample
{
public delegate void TextFoundEventHandler(object sender, EventArgs e);
}
using System;
using System.Windows;
using System.Windows.Controls;
using System.Text.RegularExpressions;
namespace SDKSample
{
public partial class FindDialogBox : Window
{
public event TextFoundEventHandler TextFound;
protected virtual void OnTextFound()
{
TextFoundEventHandler textFound = this.TextFound;
if (textFound != null) textFound(this, EventArgs.Empty);
}
C#Copiar
}
}
Por lo tanto, Find puede generar el evento cuando se encuentra un resultado de
búsqueda.
C#Copiar
using System;
using System.Windows;
using System.Windows.Controls;
using System.Text.RegularExpressions;
namespace SDKSample
{
public partial class FindDialogBox : Window
{
C#Copiar
C#Copiar
// Text found
this.index = match.Index;
this.length = match.Length;
OnTextFound();
C#Copiar
C#Copiar
}
}
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Win32;
namespace SDKSample
{
public partial class MainWindow : Window
{
C#Copiar
Como alternativa, puede llamar su código Close cuando el cerrar se hace clic en el
botón.
C#Copiar
using System;
using System.Windows;
using System.Windows.Controls;
using System.Text.RegularExpressions;
namespace SDKSample
{
public partial class FindDialogBox : Window
{
C#Copiar
Vea también