Archivo de la etiqueta: C++

Key TAB no trabaja

El evento KeyUp de textbox si lo detecta
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp

If e.KeyCode = 9 Then
cmdeliminar.PerformClick()

End If

End Sub

Fuente original: http://www.forosdelweb.com/f29/key-tab-no-trabaja-761321/

Anuncios

COMO RECORRER TODOS LOS COMPONENTES DE UN FORM O UN PANEL

Lo mas fácil seria ir uno por uno haciendo el cambio deseado, si son unos pocos, no seria mucho problemas, pero cuando son muchos esto puede ser un engorro, pudiendo llevarnos a introducir errores en nuestros código.

Otra opción es ir recorriendo todos los componentes que están dentro de nuestro formulario y comprobar de que clase es, y si es del tipo que tenemos que hacer el cambio, entonces pasamos a hacérselo.

Esto lo podemos hacer de la siguiente forma:

Para saber cuantos componentes tiene nuestro formulario utilizaremos la opción “Controls”.  Este tiene varios parámetros que nos indican cuantos “controles” hay en nuestro formulario, el tipo, etc. Con esta información que nos facilita “Controls” podemos recorrer todos los componentes que hay.

foreach (Control cComprobar in fFormulario.Controls)
{
    // Codigo de control para el componente
}

Este código nos permite recorrer todos los controles que tenemos situados en nuestro formulario.

Ahora tenemos que saber de que tipo es el control, para ello solo tenemos que preguntárselo.

if (cComprobar is PictureBox) 
{
     // Si es del tipo que queremos lo procesamos
}

En este caso queremos saber si es un “PictureBox”, pero si queremos saber si es de otro tipo, por ejemplo, si queremos modificar un “TextBox”, cambiamos el “PictureBox” por “TextBox”. Y así según el tipo deseado.

Ejemplo:

foreach (Control cComponente in fFormulario.Controls)
{
    if (cComponente is PictureBox)
    {
        cComponente.Image = Image.FromFile(sNuevaImagen);
    }
}

Pero puede suceder que no a todos los componentes que tenenos en nuestro formulario queramos modificarlos. Para esto, yo me aprovecho de la opción “Tag” que tienen todos los controles. En esta opción podemos introducir  el texto que deseemos. Solo tengo que marcar todos los controles que no quiero modificar y cuando lo recorro comprobar que quiero cambiarlo.

if ((string)cComponente.Tag != "estono")
{
    // Este control si lo quiero modificar
}

y con esto ya podemos realizar cualquier cambio a nuestros controles, sin tener que repetir el código para cada unos de ellos.

Y tu, si utilizas otro método puedes compartirlo con nosotros, solo tienes que dejar un comentario.

Fuente original: https://www.todavianose.com/como-recorrer-todos-los-componentes-de-un-form-o-un-panel/

Mover y cambiar tamaños de controles en formularios en tiempo de ejecución

Entrando al siguiente codigo usando estas clases, nosotros podemos hacer que los controles se muevan y cambien de tamaño en tiempo de ejecucion con solo una linea de codigo:

Fuentes Originales:

https://www.codeproject.com/Tips/709121/Move-and-resize-controls-on-a-form-at-runtime-with

https://www.codeproject.com/Articles/31840/Move-controls-on-a-form-at-runtime

Otra manera de aumentar tamaño a paneles:

https://www.codeproject.com/Articles/13184/Runtime-resizable-controls

https://www.codeproject.com/Articles/17245/Runtime-Control-Resizer

Propiedad Combobox.selectIndex

Obtiene o establece el índice que especifica el elemento seleccionado actualmente.

Espacio de nombres:   System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public override int SelectedIndex { get; set; }

Valor de propiedad

Type: System.Int32Índice de base cero del elemento actualmente seleccionado. Si no hay ningún elemento seleccionado, se devuelve el valor uno negativo (-1).

Vease fuente orginal:

https://msdn.microsoft.com/es-es/library/system.windows.forms.combobox.selectedindex(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

 

Expression regular en c#

La siguiente funcion nos permite reemplazar varios simbolos como comas “,” o puntos “.” en un numero

y a continuacion utilizando las siguientes funciones:

public static void Main()
   {
      string input = "1,000,000" + 
                     "whitespace.";
      string pattern = "\\,+";
      string replacement = "";
      string result = Regex.Replace(input, pattern, replacement);
                          
   }

Ver las demas expresiones regulares, haz clic en el siguiente enlace:

https://msdn.microsoft.com/es-es/library/e7f5w83z(v=vs.110).aspx

https://msdn.microsoft.com/es-es/library/xwewhkd1(v=vs.110).aspx