• Jueves 25 de Abril de 2024, 06:55

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Jeysscarr

Páginas: 1 2 [3] 4 5 6
51
C# / Re: APIS con C#
« en: Jueves 27 de Mayo de 2010, 00:03 »
:blink: !!!!!!!!! No te queda mas sencillo si en vez de apis usas la clase NotifyIcon?????????????????????????

52
C# / Re: timer y picturebox
« en: Miércoles 26 de Mayo de 2010, 19:40 »
podrias guardar las imagenes en un vector..
Digamos que tenemos 3 imagenes:

Image Imagenes[2];
Imagenes[0]=new Image(rutaIMagen);
Imagenes[1]=new Image(rutaIMagen);
Imagenes[2]=new Image(rutaIMagen);

Creas una variable contador inicializada en 0
int cont=0;

y en el evento TImer_Tick pondias algo como esto:

Timer1_Tick()
{
      if(cont==2)
      {
            cont=0; //volver a la primera posicion
      }

      picturebox1.image=Imagenes[cont];
      cont++;    //cambiar el valor del contador para asi poder mostrar la siguiente imagen
}

53
C/C++ / Re: no entiendo este ejercicio!!
« en: Domingo 23 de Mayo de 2010, 17:05 »
Aqui está la forma de sacar esos datos por codigo.. es con la libreria limits.h

http://www.zator.com/Cpp/E2_2_4.htm

54
C# / Re: Diseño de formularios
« en: Domingo 23 de Mayo de 2010, 16:26 »
Seria algo como " TabControl1.TabPages[1].Visible=False; " Lamentablemente esta propiedad no existe para el objeto TabPage que es una pestaña de un tabcontrol, podrias usar algo como esto:

//guardar en una variable temporal la pestaña
TabPage MiPestaña=TabControl1.TabPage[2];
TabControl1.TabPages.Remove[2]; //removerla

//volverla a mostrar cuando se necesite
TabControl1.TabPages.Add(MiPestaña);

pero con tantas pestañas seria muy tedioso, ya depende de tu Ingenio, de ahi la Ingenieria de diseño
Suerte!!

55
C# / Re: Diseño de formularios
« en: Sábado 22 de Mayo de 2010, 05:08 »
Este es un programa que estoy desarrollando, es una interfaz sencilla
Puedes usar un tabcontrol, al darle click en un nodo del treeview, haces visible la pagina que necesitas

a lo que te refieres seria Algo como esto:

56
C# / Re: vs_setup.msi
« en: Miércoles 19 de Mayo de 2010, 20:05 »
Hola, te estoy adjuntando el archivo de mi Dvd de visual studio professional, si necesitas otro archivo u otra version avisame, en caso de que se te hayan "fregado" varios archivos contactame a jeyssoncarrero@hotmail.com para pasarte los que necesites por msn

57
C# / Re: poner un form SOBRE la imagen que toma la webcam
« en: Miércoles 19 de Mayo de 2010, 20:01 »
Ojala pudieras tratar de ilustrar tu idea porq por lo menos yo no capte completamente tu mensaje

58
VB .NET / Re: ejecutar en una carpeta
« en: Martes 18 de Mayo de 2010, 21:03 »
No tengo visual a la mano pero seria algo como esto:

Código: Visual Basic
  1. Dim miIMagen as Image= Image.FromFile("La ruta de tu archivo")
  2.  
  3. If(MiFolderBrowserDialog.DialogResult=DialogResulto.Ok)Then
  4.        miIMagen.SaveAs(MiFolderBrowserDialog.FolderName &"nombredeIMagen.JPG")
  5. End If
  6.  

59
VB .NET / Re: ejecutar en una carpeta
« en: Martes 18 de Mayo de 2010, 16:43 »
Busca documentacion acerca de:

1. La clase bitmap y la clase Image
2. La clase FolderBrowserDialog

60
C# / Re: Imagen ascii
« en: Lunes 17 de Mayo de 2010, 22:29 »
Hola, si vas a usar ese nombre debes crear un archivo de texto en la misma carpeta del ejecutable, o puedes ponerlo en cualquier parte, asi por ejemplo si tu archivo esta guardado en C:\ y se llama dibujo.txt en el parametro de ruta mandas "C:\dibujo.txt" quitandole el Application.Startuppath

61
VB .NET / Re: guardar un control creado en tiempo de ejecucion
« en: Lunes 17 de Mayo de 2010, 16:24 »
Solo serializa el control y guardalo como XML, nada más.

Un Control es una clase, asi que puedes heredar de la clase Control, poner el atributo Serializable en true y ya..
Es algo parecido a lo que los programas usan con sus archivos Config.XML y cosas asi.

http://www.elguille.info/colabora/NET20 ... alizar.htm

62
VB .NET / Re: Problema con un Programa de Visual Basic 2005
« en: Lunes 17 de Mayo de 2010, 16:21 »
para la proxima mete tu código en estas etiquetas: " [ code = vbnet ] [ / code ] "
para que se vea asi:

Código: vb.net
  1. Public Class Form1
  2.  
  3. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  4. End
  5. End Sub
  6.  
  7. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  8. Dim n As Long
  9. n = TextBox1.Text
  10. If n = 0 Then
  11. Form2.TextBox1.Text = 0
  12. Form2.Show()
  13. Me.Hide()
  14. ElseIf n = 1 Then
  15. Form2.TextBox1.Text = 1
  16. Form2.Show()
  17. Me.Hide()
  18. ElseIf n < 0 Then
  19. MsgBox("No existe suceción de numeros Negativos", MsgBoxStyle.Information)
  20. TextBox1.Text = ""
  21. ElseIf n >= 2 Then
  22. Form2.TextBox1.Text = Fibon(n)
  23. Form2.Show()
  24. Me.Hide()
  25. End If
  26. End Sub
  27. Private Function Fibon(ByVal n As Long) As Long
  28. Dim num As Long
  29. If n = 1 Or n = 2 Then
  30. num = 1
  31. Else
  32. num = Fibon(n - 2) + Fibon(n - 1)
  33. End If
  34. Return num
  35. End Function
  36. End Class
  37.  
  38. Public Class Form2
  39.  
  40. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  41. Form1.TextBox1.Text = ""
  42. Form1.Show()
  43. Me.Hide()
  44. End Sub
  45.  
  46. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  47. End
  48. End Sub
  49. End Class
  50.  

63
VB .NET / Re: ejecutar en una carpeta
« en: Lunes 17 de Mayo de 2010, 16:17 »
Instala en el registro del sistema en alguna de sus claves una carpeta de tu programa y al inciar este has lo siguiente:

Código: vb.net
  1. Dim MiRuta As String = My.Application .ExecutablePath;
  2.  
  3. 'localiza tu clave de registro
  4. 'busca documentacion sobre como hacerlo
  5. Dim RutaReg As String = HKEY_LOCA_MACHINE\Current VersionSoftwareTuprogramaRuta... <---- Este es un ejemplo
  6.  
  7. 'compara los resultados
  8. if(MiRuta=RutaReg)Then
  9. {
  10.       Form1.Show(); '=D
  11. }
  12.  

Nadie sabra en donde lo pusiste a menos de que lo digas o que seas muy obvio en la ubicacion del valor Dword

64
VB .NET / Re: Proyectar Video de WebCam en Visual Basic
« en: Lunes 17 de Mayo de 2010, 16:09 »
Hola este es el archivo que yo uso, es una libreria COM, me ha servido mucho, solo registrala en el sistema y listo, la agregas en el cuadro de herramientas
Solo la pones en un formulario y al cargarse este control detectara los dispositivos o dispositivo y lo activara, puedes jugar con su tamaño y sus propiedades de video.

65
C# / Re: Imagen ascii
« en: Lunes 17 de Mayo de 2010, 16:00 »
Exacto, para mayor facilidad podrias agregar tu archivo en la ruta del ejecutable y usar la referencia System.Windows.Forms; en tu aplicación de consola
para poder acceder a la clase Application y su propiedad StartupPath que te indica la ruta del archivo.
Todo eso despues de importar el namespace

quedaria asi:
Código: C#
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows.Forms;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             LeerArchivo(Application.StartupPath + "\Archivo.txt");
  14.         }
  15.  
  16.         static void LeerArchivo(string ruta)
  17.         {
  18.            
  19.             string line;
  20.  
  21.  
  22.             System.IO.StreamReader file = new System.IO.StreamReader(ruta);
  23.             while ((line = file.ReadLine()) != null)
  24.             {
  25.                 System.Console.WriteLine(line);
  26.             }
  27.  
  28.             file.Close();
  29.             System.Console.ReadLine();
  30.  
  31.         }
  32.     }
  33. }
  34.  

Quizás más adelante podrías hacer que tu pregunta sonará más como algo importante, muchas personas del foro quizas no responderían al leer la palabra "Flojera" en el titulo de tu tema

66
C# / Re: Imagen ascii
« en: Lunes 17 de Mayo de 2010, 04:16 »
jajajajajajaja

67
C# / Re: RadioButton en tiempo de ejecución
« en: Lunes 17 de Mayo de 2010, 00:59 »
Depronto: TUFORM.Controls.Add(tuRadioButton);

68
C# / Re: IDs en un ComboBox
« en: Lunes 17 de Mayo de 2010, 00:52 »
Hola cómo estás, acabé de crear una pequeña página de ejemplos de C# y Windows Forms y hace unos dias cree un video explicando como hacer EXACTAMENTE ESO QUE DIJISTE, la página es la siguiente: http://www.facebook.com/home.php?#!/vid ... 094&ref=mf

Básicamente creo una clase que dispone de ID y TEXTO
y cambio el metodo ToSTring de la clase base para que devuelva el texto

asi cuando agrego valores al combo, lo unico que debo hacer es algo como esto:

Combobox1.Items.Add(New MICLASE(0,"Texto del id 0"));

Para recuperar el id solo creo un Método Static en la clase que reciba como parametro un OBJECT y devuelva el texto del mismo, asi al ser static no tengo que crear una nueva instancia de la clase, sino que uso el método directamente:

---desde la clase seria algo como:

Código: C#
  1. Public Static ObtenerTextoPorID(Object ItemComboSeleccionado)
  2. {
  3.        if(ItemComboSeleccionado!=null)
  4.        {
  5.              //Convierto el objeto seleccionado y devuelvo el combo
  6.              return Int.Parse( ( (MICLASE)ItemComboSeleccionado ).ToString() );
  7.        }
  8.        else
  9.              return 0;
  10. }
  11.  
  12.  
-- desde el Formulario seria:

Código: C#
  1. int ID=MICLASE.ObtenerTextoPorID (ComboBox1.SelectedItem);
  2.  

Que pena la respuesta tán tarde pero de algo servirá  :beer:

69
C# / Re: Refrescar ListView cuando se inserten datos nuevos en BD
« en: Lunes 17 de Mayo de 2010, 00:43 »
Holas!! yo no soy fanático del Listview para mostrar los datos de mi DB, siempre creo clases mejoradas heredando de este control.

Voy a suponer que tu tienes algun metodo para agregar el nuevo registro, pero que en el preciso instante no conoces el codigo identificador del mismo [Estoy suponiendo también que es un codigo autonumerico].

(Si no es asi, corrijeme en lo que me equivoque y yo trataré de ayudar) --> de todas formas es una suposición ya que no diste muchos detalles

Primero que todo.. crea un metodo que te recupere el maximo valor del id de la tabla en donde insertaras el registro
Crea un listViewItem con los SubItems correspondientes a los valores que estas agregando al nuevo registro
Agrega el ListViewItem al Listview y en el Tag o en la propiedad que tengas disponibles guarda el Maximo valor del id que salvaste con el metodo del principio + 1
Me imagino que tu guardas el id del registro en el Tag o en alguna otra propiedad como NAME para saber a que registro representa cualquier ListviewItem

Cualquier cosa solo pregunta, la idea es ayudar

70
C# / Código Barra de Información estilo Windows 7
« en: Sábado 15 de Mayo de 2010, 19:25 »
Hola a todos, muy buenas tardes

Actualmente he creado un prototipo de barra de información basada en la forma de la barra de descripción que se usa en Windows 7, ese panel que muestra la informaciíon de los archivos o carpetas que seleccionamos.

La he creado con la finalidad de mostrar datos caracteristicos de elementos que el usuario seleccione en mis aplicaciones y datos estadisticos para varios elementos... he agregado la funcionalidad de adaptarse al tamaño de los elementos informativos que se le agreguen, es decir, si en modo de ejecución se le pasan parametros para nuevos valores, este cambia la posición de los controles para ahorrar espacio o mostrar la información completa.

Hasta el momento he logrado mi objetivo, y me gusta mucho como se ve en funcionamiento ya que para mostrar las propiedades de un objeto no necesito crear controles especificos para cada uno.

En Fin.. lo que quisiera es que opinaran acerca de que debería agregar para que cuando el usuario Agrande o haga mas pequeño el control, los Labels que ya estan agregados se adapten al nuevo tamaño como en windows 7, en donde uno agranda la barra y los elementos que estaban en una columna se pasan para la primera para no dejar espacios vacios, etc.

A continuación mi código de la clase y un ejemplo de como lo uso

1. Clase LABEL_ (Extendida de Label)
Código: C#
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows.Forms;
  6.  
  7. namespace ControlBarraDescripcion
  8. {
  9.     public class Label_:Label
  10.     {
  11.         int col=0;
  12.         public int Columna
  13.         {
  14.             get { return col; }
  15.             set { col = value; }
  16.         }
  17.  
  18.         bool ed = false;
  19.         public bool esDescripcion
  20.         {
  21.             get { return ed; }
  22.             set { ed = value; }
  23.         }
  24.  
  25.         string desc = null;
  26.         public string Descripcion
  27.         {
  28.             get { return desc; }
  29.             set { desc = value; }
  30.         }
  31.  
  32.         public bool CorrespondeDescripcion(string descrip)
  33.         {
  34.             if (Descripcion == null)
  35.             {
  36.                 return false;
  37.             }
  38.             else
  39.             {
  40.                 if (Descripcion == descrip)
  41.                 {
  42.                     return true;
  43.                 }
  44.                 else
  45.                 {
  46.                     return false;
  47.                 }
  48.             }
  49.         }
  50.     }
  51. }
  52.  
  53.  

2. Control Barra Información
Código: C#
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace ControlBarraDescripcion
  11. {
  12.     public partial class BarraInformacion : UserControl
  13.     {
  14.  
  15.         public class InfoColumna
  16.         {
  17.             public int Index = 0;
  18.             public Label_ LabelDescripcionMasAncho = null;
  19.             public Label_ LabelValorMasAncho = null;
  20.  
  21.             public InfoColumna(Label_ Ldesc, Label_ LValor)
  22.             {
  23.                 LabelDescripcionMasAncho = Ldesc;
  24.                 LabelValorMasAncho = LValor;
  25.             }
  26.        
  27.         }
  28.  
  29.         public List<InfoColumna> ListaColumnas = new List<InfoColumna>();
  30.  
  31.         public BarraInformacion()
  32.         {
  33.             InitializeComponent();
  34.         }
  35.  
  36.  
  37.         public int posY = 0;
  38.         public int posX = 0;
  39.         public int cols = 0;
  40.         public int mayorAncho = 0;
  41.         public Label_ LabelDescripcionMasAncho = null;
  42.  
  43.         public Label_ ultimoLabel = null;
  44.         public int cont = 0;
  45.         public bool NuevaColumnaVacia = false;
  46.  
  47.         public Color ColorDescripcion=Color.DimGray;
  48.         public Color ColorValor = Color.Black;
  49.  
  50.         ImageList iml=null;
  51.         public ImageList Imagenes
  52.         {
  53.             get { return iml; }
  54.             set { iml = value; }
  55.         }
  56.  
  57.         public void Iniciar(Color ColorDescripcion, Color ColorValor, string titulo, int imageindex)
  58.         {
  59.             panel1.Controls.Clear();
  60.  
  61.             this.ColorDescripcion = ColorDescripcion;
  62.             this.ColorValor = ColorValor;
  63.            
  64.             posX = 0; posY = 0; cols = 0; mayorAncho = 0; ListaColumnas.Clear();
  65.  
  66.             LbTITULO.Text = titulo;
  67.             Pct.Image = null;
  68.             ultimoLabel = null;
  69.  
  70.             NuevaColumnaVacia = false;
  71.             LabelDescripcionMasAncho = null;
  72.  
  73.             cont = 0;
  74.  
  75.             if (Imagenes != null)
  76.             {
  77.                 if (imageindex != -1)
  78.                 {
  79.                    
  80.                     Pct.Image = Imagenes.Images[imageindex];
  81.                 }
  82.                 else
  83.                     Pct.Image = null;
  84.                
  85.             }
  86.  
  87.            
  88.         }
  89.  
  90.         public void AgregarDescripcion(string descripcion, string valor,bool CrearNuevosControles)
  91.         {
  92.             if (CrearNuevosControles)
  93.             {
  94.                 if (ultimoLabel == null)
  95.                 {
  96.                     //es el primero
  97.                     Label_ Ldescripcion = new Label_();
  98.                     panel1.Controls.Add(Ldescripcion);
  99.                     Ldescripcion.Tag = cont;
  100.                     cont++;
  101.  
  102.                     Ldescripcion.AutoSize = true;
  103.                     //Ldescripcion.BorderStyle = BorderStyle.FixedSingle;
  104.                     Ldescripcion.Text = descripcion + ":";
  105.                     Ldescripcion.esDescripcion = true;
  106.                     Ldescripcion.Location = new Point(posX, posY);
  107.                     Ldescripcion.Visible = true;
  108.                     Ldescripcion.Columna = cols;
  109.                     Ldescripcion.ForeColor = ColorDescripcion;
  110.                     posY = Ldescripcion.Bounds.Bottom + 4;
  111.  
  112.  
  113.                     ultimoLabel = Ldescripcion;
  114.  
  115.                     //Label_ del valor
  116.                     Label_ Lvalor = new Label_();
  117.                     panel1.Controls.Add(Lvalor);
  118.                     Lvalor.Tag = cont;
  119.                     Lvalor.Descripcion = descripcion;
  120.                     cont++;
  121.  
  122.                     Lvalor.AutoSize = true;
  123.                     //Lvalor.BorderStyle = BorderStyle.FixedSingle;
  124.                     Lvalor.Text = valor;
  125.                     Lvalor.Location = new Point(Ldescripcion.Right, Ldescripcion.Bounds.Y);
  126.                     Lvalor.Visible = true;
  127.                     Lvalor.Columna = cols;
  128.                     Lvalor.ForeColor = ColorValor;
  129.  
  130.                     ListaColumnas.Add(new InfoColumna(Ldescripcion, Lvalor));
  131.  
  132.                 }
  133.                 else
  134.                 {
  135.                     Label_ Ldescripcion = new Label_();
  136.                     panel1.Controls.Add(Ldescripcion);
  137.                     Ldescripcion.Tag = cont;
  138.                     cont++;
  139.  
  140.                     Ldescripcion.AutoSize = true;
  141.                     //Ldescripcion.BorderStyle = BorderStyle.FixedSingle;
  142.                     Ldescripcion.Text = descripcion + ":";
  143.                     Ldescripcion.esDescripcion = true;
  144.                     Ldescripcion.Location = new Point(posX, posY);
  145.                     Ldescripcion.Visible = true;
  146.                     Ldescripcion.Columna = cols;
  147.                     Ldescripcion.ForeColor = ColorDescripcion;
  148.                     posY = Ldescripcion.Bounds.Bottom + 4;
  149.                     ultimoLabel = Ldescripcion;
  150.  
  151.                     //Label_ del valor
  152.                     Label_ Lvalor = new Label_();
  153.                     panel1.Controls.Add(Lvalor);
  154.                     Lvalor.Tag = cont;
  155.                     Lvalor.Descripcion = descripcion;
  156.                     cont++;
  157.  
  158.                     Lvalor.AutoSize = true;
  159.                     //Lvalor.BorderStyle = BorderStyle.FixedSingle;
  160.                     Lvalor.Text = valor;
  161.                     Lvalor.Location = new Point(Ldescripcion.Right, Ldescripcion.Bounds.Y);
  162.                     Lvalor.Visible = true;
  163.                     Lvalor.Columna = cols;
  164.                     Lvalor.ForeColor = ColorValor;
  165.  
  166.                     if (NuevaColumnaVacia == true)
  167.                     {
  168.                         ListaColumnas.Add(new InfoColumna(Ldescripcion, Lvalor));
  169.  
  170.                         NuevaColumnaVacia = false;
  171.                     }
  172.  
  173.                     if (Lvalor.Width > ListaColumnas[cols].LabelValorMasAncho.Width)
  174.                     {
  175.                         ListaColumnas[cols].LabelValorMasAncho = Lvalor;
  176.                     }
  177.  
  178.                     //determinar si el ancho de este Label_ es mayor que el de los demás
  179.                     if (Ldescripcion.Size.Width > ListaColumnas[cols].LabelDescripcionMasAncho.Width)
  180.                     {
  181.                         ListaColumnas[cols].LabelDescripcionMasAncho = Ldescripcion;
  182.  
  183.                         //alinear los Labels de arriba a la derecha de este control
  184.                         foreach (Label_ lb in panel1.Controls)
  185.                         {
  186.                             if (lb.esDescripcion == true && (int)lb.Columna == cols)
  187.                             {
  188.                                 lb.Left = ListaColumnas[cols].LabelDescripcionMasAncho.Right - lb.Width;
  189.                             }
  190.                             else if (lb.esDescripcion == false && (int)lb.Columna == cols)
  191.                             {
  192.                                 lb.Left = ListaColumnas[cols].LabelDescripcionMasAncho.Right;
  193.                             }
  194.                         }
  195.                     }
  196.                     else
  197.                     {
  198.                         Ldescripcion.Left = ListaColumnas[cols].LabelDescripcionMasAncho.Right - Ldescripcion.Width;
  199.                         Lvalor.Left = Ldescripcion.Right + 2;
  200.                     }
  201.  
  202.                     if (panel1.Height - ultimoLabel.Bottom < 16)
  203.                     {
  204.                         //crear una nueva columna
  205.                         posX = ListaColumnas[cols].LabelValorMasAncho.Right + 2;
  206.                         posY = 0;
  207.                         NuevaColumnaVacia = true;
  208.                         cols++;
  209.  
  210.                     }
  211.                 }
  212.             }
  213.             else
  214.             {
  215.                 foreach (Label_ Lb in panel1.Controls)
  216.                 {
  217.                     if (Lb.CorrespondeDescripcion(descripcion))
  218.                     {
  219.                         Lb.Text = valor;
  220.                         break;
  221.                     }
  222.                 }
  223.             }
  224.            
  225.         }
  226.  
  227.         public void ReordenarItems()
  228.         {
  229.             if (cont > 0)
  230.             {
  231.                
  232.                 List<Label_> Lista = new List<Label_>();
  233.  
  234.                 foreach(Label_ Lb in panel1.Controls)
  235.                 {
  236.                     Lista.Add(Lb);    
  237.                 }
  238.  
  239.                 int mayorAnchoD = 0, mayorAnchoV = 0;
  240.                 Label_ lbVal = null;
  241.                 Label_ lbDesc = null;
  242.  
  243.                 int xDesc = 0, xVal=0;
  244.  
  245.                 for (int i = 0; i <= cols; i++)
  246.                 {
  247.                     mayorAnchoD = 0;
  248.                     mayorAnchoV = 0;
  249.  
  250.                     var consulta = from item in Lista where item.Columna == i && item.esDescripcion ==true select item;
  251.                     foreach (Label_ it in consulta)
  252.                     {
  253.                         if (it.Width > mayorAnchoD)
  254.                         {
  255.                             mayorAnchoD = it.Width;
  256.                             lbDesc = it;
  257.                         }
  258.                     }
  259.  
  260.                     var consulta2 = from item in Lista where item.Columna == i && item.esDescripcion == false select item;
  261.                     foreach (Label_ it in consulta2)
  262.                     {
  263.                         if (it.Width > mayorAnchoV)
  264.                         {
  265.                             mayorAnchoV = it.Width;
  266.                             lbVal = it;
  267.                         }
  268.                     }
  269.  
  270.                     foreach (Label_ it in consulta)
  271.                     {
  272.                         it.Location = new Point(xDesc + (mayorAnchoD - it.Width), it.Location.Y);
  273.                     }
  274.  
  275.                     foreach (Label_ it in consulta2)
  276.                     {
  277.                         it.Location = new Point(lbDesc.Right + 2, it.Location.Y);
  278.                     }
  279.  
  280.                     xDesc = lbVal.Right + 2;
  281.                    
  282.                 }
  283.             }
  284.         }
  285.     }
  286. }
  287.  
  288.  

3. El Designer del control anterior
Código: C#
  1. namespace ControlBarraDescripcion
  2. {
  3.     partial class BarraInformacion
  4.     {
  5.         /// <summary>
  6.         /// Variable del diseñador requerida.
  7.         /// </summary>
  8.         private System.ComponentModel.IContainer components = null;
  9.  
  10.         /// <summary>
  11.         /// Limpiar los recursos que se estén utilizando.
  12.         /// </summary>
  13.         /// <param name="disposing">true si los recursos administrados se deben eliminar; false en caso contrario, false.</param>
  14.         protected override void Dispose(bool disposing)
  15.         {
  16.             if (disposing && (components != null))
  17.             {
  18.                 components.Dispose();
  19.             }
  20.             base.Dispose(disposing);
  21.         }
  22.  
  23.         #region Código generado por el Diseñador de componentes
  24.  
  25.         /// <summary>
  26.         /// Método necesario para admitir el Diseñador. No se puede modificar
  27.         /// el contenido del método con el editor de código.
  28.         /// </summary>
  29.         private void InitializeComponent()
  30.         {
  31.             this.Pct = new System.Windows.Forms.PictureBox();
  32.             this.LbTITULO = new System.Windows.Forms.Label();
  33.             this.panel1 = new System.Windows.Forms.Panel();
  34.             ((System.ComponentModel.ISupportInitialize)(this.Pct)).BeginInit();
  35.             this.SuspendLayout();
  36.             //
  37.             // Pct
  38.             //
  39.             this.Pct.Location = new System.Drawing.Point(3, 25);
  40.             this.Pct.Name = "Pct";
  41.             this.Pct.Size = new System.Drawing.Size(97, 110);
  42.             this.Pct.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
  43.             this.Pct.TabIndex = 0;
  44.             this.Pct.TabStop = false;
  45.             //
  46.             // LbTITULO
  47.             //
  48.             this.LbTITULO.AutoSize = true;
  49.             this.LbTITULO.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold);
  50.             this.LbTITULO.Location = new System.Drawing.Point(3, 6);
  51.             this.LbTITULO.Name = "LbTITULO";
  52.             this.LbTITULO.Size = new System.Drawing.Size(113, 13);
  53.             this.LbTITULO.TabIndex = 1;
  54.             this.LbTITULO.Text = "Prueba con control";
  55.             //
  56.             // panel1
  57.             //
  58.             this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
  59.                         | System.Windows.Forms.AnchorStyles.Left)
  60.                         | System.Windows.Forms.AnchorStyles.Right)));
  61.             this.panel1.Location = new System.Drawing.Point(106, 25);
  62.             this.panel1.Name = "panel1";
  63.             this.panel1.Size = new System.Drawing.Size(518, 110);
  64.             this.panel1.TabIndex = 2;
  65.             //
  66.             // BarraInformacion
  67.             //
  68.             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
  69.             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  70.             this.Controls.Add(this.panel1);
  71.             this.Controls.Add(this.LbTITULO);
  72.             this.Controls.Add(this.Pct);
  73.             this.Font = new System.Drawing.Font("Tahoma", 8.25F);
  74.             this.Name = "BarraInformacion";
  75.             this.Size = new System.Drawing.Size(627, 138);
  76.             ((System.ComponentModel.ISupportInitialize)(this.Pct)).EndInit();
  77.             this.ResumeLayout(false);
  78.             this.PerformLayout();
  79.  
  80.         }
  81.  
  82.         #endregion
  83.  
  84.         private System.Windows.Forms.PictureBox Pct;
  85.         private System.Windows.Forms.Panel panel1;
  86.         public System.Windows.Forms.Label LbTITULO;
  87.     }
  88. }
  89.  
  90.  

4. Ejemplo de su Utilización
Código: C#
  1.  private void Trv_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.            
  4.  
  5.                 if (Trv.SelectedItems.Count == 1)
  6.                 {
  7.                     if (VariosSeleccionados)
  8.                     {
  9.                         CrearNuevasDescripciones = true;
  10.                         VariosSeleccionados = false;
  11.                     }
  12.                     else
  13.                     {
  14.                         CrearNuevasDescripciones = false;
  15.                     }
  16.  
  17.                     ListviewItemEstudiante item = (ListviewItemEstudiante)Trv.SelectedItems[0];
  18.  
  19.                     //determinar la mayor edad
  20.                     Single mayor = 0;
  21.                     for (int i = 1; i <= (Trv.Columns.Count - 2); i++)
  22.                     {
  23.  
  24.                         Single valor = 0;
  25.                         if (Trv.SelectedItems[0].SubItems[i].Text != "")
  26.                         {
  27.                             valor = Single.Parse(Trv.SelectedItems[0].SubItems[i].Text);
  28.                             if (valor > mayor)
  29.                             {
  30.                                 mayor = valor;
  31.                             }
  32.                         }
  33.                     }
  34.  
  35.                     if (CrearNuevasDescripciones)
  36.                     {
  37.                         barraInformacion1.Iniciar(Color.DimGray, Color.Black, "Actualmente usted ha seleccionado al estudiante: " + item.NombreCompleto.ToUpper(), -1);
  38.                     }
  39.  
  40.                     barraInformacion1.LbTITULO.Text = "Actualmente usted ha seleccionado al estudiante: " + item.NombreCompleto.ToUpper();
  41.                     barraInformacion1.AgregarDescripcion("ID", item.IDEstudiante.ToString("00000"), CrearNuevasDescripciones);
  42.                     barraInformacion1.AgregarDescripcion("Promedio", Trv.SelectedItems[0].SubItems[Trv.Columns.Count - 1].Text, CrearNuevasDescripciones);
  43.                     barraInformacion1.AgregarDescripcion("Tipo de documento", item.TipoDocumento, CrearNuevasDescripciones);
  44.                     barraInformacion1.AgregarDescripcion("Documento de Identidad", item.Documento, CrearNuevasDescripciones);
  45.                     barraInformacion1.AgregarDescripcion("Fecha de Nacimiento", item.FechaNacimiento.ToLongDateString(), CrearNuevasDescripciones);
  46.                     barraInformacion1.AgregarDescripcion("Ciudad Natal", item.CiudadNacimiento, CrearNuevasDescripciones);
  47.                     barraInformacion1.AgregarDescripcion("edad", item.Edad + " años", CrearNuevasDescripciones);
  48.                     barraInformacion1.AgregarDescripcion("Mayor Calificación", mayor.ToString() + " pts", CrearNuevasDescripciones);
  49.                     barraInformacion1.AgregarDescripcion("Sexo", item.Sexo, CrearNuevasDescripciones);
  50.                     barraInformacion1.AgregarDescripcion("Estado", item.Estado, CrearNuevasDescripciones);
  51.  
  52.                     if (!CrearNuevasDescripciones)
  53.                     {
  54.                         barraInformacion1.ReordenarItems();
  55.                     }
  56.  
  57.                 }
  58.                 else if (Trv.SelectedItems.Count > 1)
  59.                 {
  60.                     if (!VariosSeleccionados)
  61.                     {
  62.                         barraInformacion1.Iniciar(Color.DimGray, Color.Black, "Elementos Selccionados", -1);
  63.                         VariosSeleccionados = true;
  64.                         CrearNuevasDescripciones = true;
  65.                     }
  66.                     else
  67.                     {
  68.                         CrearNuevasDescripciones = false;
  69.                     }
  70.  
  71.                     int mayorEdad = 0, menorEdad = 0, acumEdad = 0;
  72.  
  73.                     Single promedio = 0, mayorPromedio = 0;
  74.                     ListviewItemEstudiante itMayor = null;
  75.                     ListviewItemEstudiante itMenor = null;
  76.                     ListviewItemEstudiante itMayorPromedio = null;
  77.                     int EstaEnLaPrimeraPosicion = 1;
  78.  
  79.                     foreach (ListviewItemEstudiante item in Trv.SelectedItems)
  80.                     {
  81.                         if (EstaEnLaPrimeraPosicion == 1)
  82.                         {
  83.                             menorEdad = item.Edad;
  84.                             itMenor = item;
  85.                             itMayorPromedio = item;
  86.                             EstaEnLaPrimeraPosicion = 0;
  87.                         }
  88.  
  89.                         if (item.promedio > mayorPromedio) { mayorPromedio = item.promedio; itMayorPromedio = item; }
  90.                         if (item.Edad > mayorEdad) { mayorEdad = item.Edad; itMayor = item; }
  91.                         if (item.Edad < menorEdad) { menorEdad = item.Edad; itMenor = item; }
  92.                         acumEdad += item.Edad;
  93.                     }
  94.  
  95.                     promedio = acumEdad / Trv.SelectedItems.Count;
  96.  
  97.  
  98.                     barraInformacion1.AgregarDescripcion("Seleccion", Trv.SelectedItems.Count.ToString(), CrearNuevasDescripciones);
  99.                     barraInformacion1.AgregarDescripcion("Mayor edad", itMayor.NombreCompleto + ", " + mayorEdad + " años", CrearNuevasDescripciones);
  100.                     barraInformacion1.AgregarDescripcion("Menor edad", itMenor.NombreCompleto + ", " + menorEdad + " años", CrearNuevasDescripciones);
  101.                     barraInformacion1.AgregarDescripcion("Promedio de edad", promedio.ToString() + " años", CrearNuevasDescripciones);
  102.                     barraInformacion1.AgregarDescripcion("Mejor promedio", itMayorPromedio.NombreCompleto + ", con " + mayorPromedio.ToString("0.00") + " pts", CrearNuevasDescripciones);
  103.                     if (!CrearNuevasDescripciones)
  104.                     {
  105.                         barraInformacion1.ReordenarItems();
  106.                     }
  107.  
  108.                
  109.             }
  110.         }
  111.  

y unas imágenes de como se ve en modo de ejecución

71
C# / Re: Mover PictureBox con el teclado
« en: Sábado 15 de Mayo de 2010, 15:23 »
Hola fercho1q, realmente si te entendi bien, es algo sencillo.
Si lo que quieres es al mantener la tecla presionada se siga moviendo el picture, agrega un un control Timer y habilitalo, en su evento Tick que se genera cada 100 milisegundos por defecto determino qué tecla está presionada. En los eventos KeyDOwn y KeyUp del formulario principal, guardo el valor de la tecla presionada en una variable statica de tipo KEYS.

Por ultimo cuando determino que tecla es, simplemente agrego un pixel o quito un pixel de la coordenada actual en X o Y segun sea el caso..
Izquierda: quito un pixel de X
Derecga: agrego un pixel a X
Arriba: Quito un pixel a Y
Abajo: Agrego un pixel a Y

Tambien puedes tu si lo deseas determinar si estan presionadas las teclas Arriba e Izquierda que el picture se mueva en forma diagonal, para lo que tendrias que restar un punto en Y y otro en X.

Código: C#
  1. static Keys tecla;
  2.         private void Form1_KeyDown(object sender, KeyEventArgs e)
  3.         {
  4.             tecla = e.KeyCode;
  5.         }
  6.  
  7.         private void Form1_KeyUp(object sender, KeyEventArgs e)
  8.         {
  9.             tecla = Keys.Escape;
  10.         }
  11.  
  12.         private void timer1_Tick(object sender, EventArgs e)
  13.         {
  14.            
  15.                 switch (tecla)
  16.                 {
  17.                     case Keys .Left:
  18.                         this.pictureBox1.Location = new Point(pictureBox1.Location.X - 1, pictureBox1.Location.Y);
  19.                         break;
  20.  
  21.                     case Keys.Right :
  22.                         this.pictureBox1.Location = new Point(pictureBox1.Location.X + 1, pictureBox1.Location.Y);
  23.                         break;
  24.  
  25.                     case Keys.Up :
  26.                         this.pictureBox1.Location = new Point(pictureBox1.Location.X, pictureBox1.Location.Y-1);
  27.                         break;
  28.  
  29.                     case Keys.Down :
  30.                         this.pictureBox1.Location = new Point(pictureBox1.Location.X , pictureBox1.Location.Y+1);
  31.                         break;
  32.                 }
  33.            
  34.         }
  35.  

para que se mueva mas rapido, disminuye el valor de la propiedad intervalos del timer

72
VB .NET / Re: Problemas con el DataGrid de mi Programa, por favor ayudenme
« en: Jueves 13 de Mayo de 2010, 15:03 »
Hola...
en este tutorial se muestra como se crea un raporte de una manera muy sencilla, en este caso se usan clases
http://jeycarrero.blogspot.com/2010/05/crear-reportes-en-c-sin-bases-de-datos.html

Siguiendo el tutorial anterior he creado un programa que JALA unos datos de una base de datos de accesss y que crea un reporte con los datos del DataGrid, es muy sencillo, Abajo te dejo el programa, solo tienes que agregar el reporte una tabla y enlazar los bindings

No si se halla problema con que sea visual 2008...

73
VB .NET / Re: Crear reportes sin Crystal Report
« en: Miércoles 12 de Mayo de 2010, 15:07 »
Me imgino que esto puede servir: http://www.solovb.net/index.php/2009/05/12/como-crear-un-reporte-reporting-services/  :hola:
Tambien puedes mandarle datos al reporte sin estar conectado usando Objetos

lo unico que tendrias que hacer seria lo mismo pero en vez de conectarlo con una base de datos crearias una lista, coleccion, matriz, vector o cualquier cosa por el estilo de clases de tipo ARTICULO por ejemplo y asignarsela a la propiedad DataSource del Reporte.

Ejemplo

Articulos:
1. Articulo 1, Precio: $ 5, cantidad: 15, Proveedor: X
2. Articulo 2, Precio: $ 5, cantidad: 25, Proveedor: Y
3. Articulo 3, Precio: $ 5, cantidad: 35, Proveedor: Z

son tres clases de tipo articulo que habras creado con datos de la base de datos, las agregas a una lista: List <Articulos> LISTA=new List <Articulos>();

LISTA.Items.Add(Articulo1);
LISTA.Items.Add(Articulo2);
LISTA.Items.Add(Articulo3);

y por ultimo:

TuReporte.DataSource=LISTA;
TuReporte.RefreshReport();

Obviamente antes en el diseño del reporte agregas un nuevo origen de datos que seria un Objeto, el cual seria la clase Articulos.. este se mostraria como en el tutorial del enlace de arriba y arrastrarias las propiedades hacia los campos que desees visualizar en el reporte en la parte de detalle

74
C# / Re: DUDA EN C#
« en: Miércoles 12 de Mayo de 2010, 14:47 »
Cita de: "KoRn_jsg"
Mil disculpas por mi ignorancia...pero aun nose crear objeto, osea nose la sintaxis de como crear los objetos porque lamentablemente en la universidad donde aprendi a programar me enseñaron en C++....y namespace al que te refieres lo agrego asi "
using Microsoft.VisualBasic.Devices;" (Sin las comillas obviamente)???....Ademas que estoy usando el Visual Studio 2008 C# aplicaciones MSDOS

espero me puedas ayudar...pero me sirvio tu respuesta de mucho...gracias!!!

Para crear un juego por muy sencillo que sea en C# deberias usar objetos, como es un lenguaje POO asi aprovecharias mejor todo... el namespace va afura de cualquier cosa en el codigo

Código: C#
  1. using Microsoft.VisualBasic.Devices;
  2.  
  3. namespace SonidosCSharp
  4. {
  5.     public partial class Form1 : Form
  6.     {
  7.         public Form1()
  8.         {
  9.             InitializeComponent();
  10.         }
  11.  
  12.         private void Form1_Load(object sender, EventArgs e)
  13.         {
  14.             Audio MiSonido = new Audio();
  15.             MiSonido.Play("C:\sonido.mp3");
  16.         }
  17.     }
  18. }
  19.  

75
C# / Re: Acceso a Form2 por pregunta secreta
« en: Miércoles 12 de Mayo de 2010, 14:43 »
en el boton iria algo como esto:

Código: C#
  1.  
  2. Const PREGUNTASECRETA="aqui va la respuesta";
  3. valor=textbox1.text;
  4.  
  5. switch(valor)
  6. {
  7.     case PREGUNTASECRETA:
  8.              Form2 F=new Form2();
  9.              this.hide();
  10.              F.Show();
  11.              Break;
  12.     case Default:
  13.              MessageBox.Show("El valor introducido no es valido","Error",Messageboxbutton.Ok,MessageBoxIcon=MessageBoxIcon.Asterisk);
  14.              //o en tu caso creando el form3
  15.              Break;
  16. }
  17.  
  18.  

Páginas: 1 2 [3] 4 5 6