|
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
51
« en: Jueves 27 de Mayo de 2010, 00:03 »
 !!!!!!!!! No te queda mas sencillo si en vez de apis usas la clase NotifyIcon?????????????????????????
52
« 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 }
54
« 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
« 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
« 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
« 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
« en: Martes 18 de Mayo de 2010, 21:03 »
No tengo visual a la mano pero seria algo como esto: Dim miIMagen as Image= Image.FromFile("La ruta de tu archivo") If(MiFolderBrowserDialog.DialogResult=DialogResulto.Ok)Then miIMagen.SaveAs(MiFolderBrowserDialog.FolderName &"nombredeIMagen.JPG") End If
59
« 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
« 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
« 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
« 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: Public Class Form1 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim n As Long n = TextBox1.Text If n = 0 Then Form2.TextBox1.Text = 0 Form2.Show() Me.Hide() ElseIf n = 1 Then Form2.TextBox1.Text = 1 Form2.Show() Me.Hide() ElseIf n < 0 Then MsgBox("No existe suceción de numeros Negativos", MsgBoxStyle.Information) TextBox1.Text = "" ElseIf n >= 2 Then Form2.TextBox1.Text = Fibon(n) Form2.Show() Me.Hide() End If End Sub Private Function Fibon(ByVal n As Long) As Long Dim num As Long If n = 1 Or n = 2 Then num = 1 Else num = Fibon(n - 2) + Fibon(n - 1) End If Return num End Function End Class Public Class Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form1.TextBox1.Text = "" Form1.Show() Me.Hide() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class
63
« 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: Dim MiRuta As String = My.Application .ExecutablePath; 'localiza tu clave de registro 'busca documentacion sobre como hacerlo Dim RutaReg As String = HKEY_LOCA_MACHINE\Current VersionSoftwareTuprogramaRuta... <---- Este es un ejemplo 'compara los resultados if(MiRuta=RutaReg)Then { Form1.Show(); '=D }
Nadie sabra en donde lo pusiste a menos de que lo digas o que seas muy obvio en la ubicacion del valor Dword
64
« 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
« 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: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { LeerArchivo(Application.StartupPath + "\Archivo.txt"); } static void LeerArchivo(string ruta) { string line; System.IO.StreamReader file = new System.IO.StreamReader(ruta ); while ((line = file.ReadLine()) != null) { System.Console.WriteLine(line); } file.Close(); System.Console.ReadLine(); } } }
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
« en: Lunes 17 de Mayo de 2010, 04:16 »
jajajajajajaja
67
« en: Lunes 17 de Mayo de 2010, 00:59 »
Depronto: TUFORM.Controls.Add(tuRadioButton);
68
« 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=mfBá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: Public Static ObtenerTextoPorID(Object ItemComboSeleccionado) { if(ItemComboSeleccionado!=null) { //Convierto el objeto seleccionado y devuelvo el combo return Int.Parse( ( (MICLASE)ItemComboSeleccionado ).ToString() ); } else return 0; }
-- desde el Formulario seria: int ID=MICLASE.ObtenerTextoPorID (ComboBox1.SelectedItem);
Que pena la respuesta tán tarde pero de algo servirá
69
« 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
« 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) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace ControlBarraDescripcion { public class Label_:Label { int col=0; public int Columna { get { return col; } set { col = value; } } bool ed = false; public bool esDescripcion { get { return ed; } set { ed = value; } } string desc = null; public string Descripcion { get { return desc; } set { desc = value; } } public bool CorrespondeDescripcion(string descrip) { if (Descripcion == null) { return false; } else { if (Descripcion == descrip) { return true; } else { return false; } } } } }
2. Control Barra Información using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; namespace ControlBarraDescripcion { public partial class BarraInformacion : UserControl { public class InfoColumna { public int Index = 0; public Label_ LabelDescripcionMasAncho = null; public Label_ LabelValorMasAncho = null; public InfoColumna(Label_ Ldesc, Label_ LValor) { LabelDescripcionMasAncho = Ldesc; LabelValorMasAncho = LValor; } } public List <InfoColumna > ListaColumnas = new List <InfoColumna >(); public BarraInformacion() { InitializeComponent(); } public int posY = 0; public int posX = 0; public int cols = 0; public int mayorAncho = 0; public Label_ LabelDescripcionMasAncho = null; public Label_ ultimoLabel = null; public int cont = 0; public bool NuevaColumnaVacia = false; public Color ColorDescripcion=Color.DimGray; public Color ColorValor = Color.Black; ImageList iml=null; public ImageList Imagenes { get { return iml; } set { iml = value; } } public void Iniciar(Color ColorDescripcion, Color ColorValor, string titulo, int imageindex) { panel1.Controls.Clear(); this.ColorDescripcion = ColorDescripcion; this.ColorValor = ColorValor; posX = 0; posY = 0; cols = 0; mayorAncho = 0; ListaColumnas.Clear(); LbTITULO.Text = titulo; Pct.Image = null; ultimoLabel = null; NuevaColumnaVacia = false; LabelDescripcionMasAncho = null; cont = 0; if (Imagenes != null) { if (imageindex != -1) { Pct.Image = Imagenes.Images[imageindex]; } else Pct.Image = null; } } public void AgregarDescripcion(string descripcion, string valor,bool CrearNuevosControles) { if (CrearNuevosControles) { if (ultimoLabel == null) { //es el primero Label_ Ldescripcion = new Label_ (); panel1.Controls.Add(Ldescripcion); Ldescripcion.Tag = cont; cont++; Ldescripcion.AutoSize = true; //Ldescripcion.BorderStyle = BorderStyle.FixedSingle; Ldescripcion.Text = descripcion + ":"; Ldescripcion.esDescripcion = true; Ldescripcion .Location = new Point (posX, posY ); Ldescripcion.Visible = true; Ldescripcion.Columna = cols; Ldescripcion.ForeColor = ColorDescripcion; posY = Ldescripcion.Bounds.Bottom + 4; ultimoLabel = Ldescripcion; //Label_ del valor Label_ Lvalor = new Label_ (); panel1.Controls.Add(Lvalor); Lvalor.Tag = cont; Lvalor.Descripcion = descripcion; cont++; Lvalor.AutoSize = true; //Lvalor.BorderStyle = BorderStyle.FixedSingle; Lvalor.Text = valor; Lvalor .Location = new Point (Ldescripcion .Right, Ldescripcion .Bounds.Y); Lvalor.Visible = true; Lvalor.Columna = cols; Lvalor.ForeColor = ColorValor; ListaColumnas .Add(new InfoColumna (Ldescripcion, Lvalor )); } else { Label_ Ldescripcion = new Label_ (); panel1.Controls.Add(Ldescripcion); Ldescripcion.Tag = cont; cont++; Ldescripcion.AutoSize = true; //Ldescripcion.BorderStyle = BorderStyle.FixedSingle; Ldescripcion.Text = descripcion + ":"; Ldescripcion.esDescripcion = true; Ldescripcion .Location = new Point (posX, posY ); Ldescripcion.Visible = true; Ldescripcion.Columna = cols; Ldescripcion.ForeColor = ColorDescripcion; posY = Ldescripcion.Bounds.Bottom + 4; ultimoLabel = Ldescripcion; //Label_ del valor Label_ Lvalor = new Label_ (); panel1.Controls.Add(Lvalor); Lvalor.Tag = cont; Lvalor.Descripcion = descripcion; cont++; Lvalor.AutoSize = true; //Lvalor.BorderStyle = BorderStyle.FixedSingle; Lvalor.Text = valor; Lvalor .Location = new Point (Ldescripcion .Right, Ldescripcion .Bounds.Y); Lvalor.Visible = true; Lvalor.Columna = cols; Lvalor.ForeColor = ColorValor; if (NuevaColumnaVacia == true) { ListaColumnas .Add(new InfoColumna (Ldescripcion, Lvalor )); NuevaColumnaVacia = false; } if (Lvalor.Width > ListaColumnas[cols].LabelValorMasAncho.Width) { ListaColumnas[cols].LabelValorMasAncho = Lvalor; } //determinar si el ancho de este Label_ es mayor que el de los demás if (Ldescripcion.Size.Width > ListaColumnas[cols].LabelDescripcionMasAncho.Width) { ListaColumnas[cols].LabelDescripcionMasAncho = Ldescripcion; //alinear los Labels de arriba a la derecha de este control foreach (Label_ lb in panel1.Controls) { if (lb.esDescripcion == true && (int)lb.Columna == cols) { lb.Left = ListaColumnas[cols].LabelDescripcionMasAncho.Right - lb.Width; } else if (lb.esDescripcion == false && (int)lb.Columna == cols) { lb.Left = ListaColumnas[cols].LabelDescripcionMasAncho.Right; } } } else { Ldescripcion.Left = ListaColumnas[cols].LabelDescripcionMasAncho.Right - Ldescripcion.Width; Lvalor.Left = Ldescripcion.Right + 2; } if (panel1.Height - ultimoLabel.Bottom < 16) { //crear una nueva columna posX = ListaColumnas[cols].LabelValorMasAncho.Right + 2; posY = 0; NuevaColumnaVacia = true; cols++; } } } else { foreach (Label_ Lb in panel1.Controls) { if (Lb.CorrespondeDescripcion(descripcion)) { Lb.Text = valor; break; } } } } public void ReordenarItems() { if (cont > 0) { List <Label_ > Lista = new List <Label_ >(); foreach(Label_ Lb in panel1.Controls) { Lista.Add(Lb); } int mayorAnchoD = 0, mayorAnchoV = 0; Label_ lbVal = null; Label_ lbDesc = null; int xDesc = 0, xVal=0; for (int i = 0; i <= cols; i++) { mayorAnchoD = 0; mayorAnchoV = 0; var consulta = from item in Lista where item.Columna == i && item.esDescripcion ==true select item; foreach (Label_ it in consulta) { if (it.Width > mayorAnchoD) { mayorAnchoD = it.Width; lbDesc = it; } } var consulta2 = from item in Lista where item.Columna == i && item.esDescripcion == false select item; foreach (Label_ it in consulta2) { if (it.Width > mayorAnchoV) { mayorAnchoV = it.Width; lbVal = it; } } foreach (Label_ it in consulta) { it .Location = new Point (xDesc + (mayorAnchoD - it .Width), it .Location.Y); } foreach (Label_ it in consulta2) { it .Location = new Point (lbDesc .Right + 2, it .Location.Y); } xDesc = lbVal.Right + 2; } } } } }
3. El Designer del control anterior namespace ControlBarraDescripcion { partial class BarraInformacion { /// <summary> /// Variable del diseñador requerida. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Limpiar los recursos que se estén utilizando. /// </summary> /// <param name="disposing">true si los recursos administrados se deben eliminar; false en caso contrario, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Código generado por el Diseñador de componentes /// <summary> /// Método necesario para admitir el Diseñador. No se puede modificar /// el contenido del método con el editor de código. /// </summary> private void InitializeComponent() { this.Pct = new System.Windows.Forms.PictureBox(); this.LbTITULO = new System.Windows.Forms.Label(); this.panel1 = new System.Windows.Forms.Panel(); ((System.ComponentModel.ISupportInitialize)(this.Pct)).BeginInit(); this.SuspendLayout(); // // Pct // this.Pct.Location = new System.Drawing.Point(3, 25); this.Pct.Name = "Pct"; this.Pct.Size = new System.Drawing.Size(97, 110); this.Pct.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.Pct.TabIndex = 0; this.Pct.TabStop = false; // // LbTITULO // this.LbTITULO.AutoSize = true; this.LbTITULO.Font = new System.Drawing.Font("Tahoma", 8 .25F, System.Drawing.FontStyle.Bold); this.LbTITULO.Location = new System.Drawing.Point(3, 6); this.LbTITULO.Name = "LbTITULO"; this.LbTITULO.Size = new System.Drawing.Size(113, 13); this.LbTITULO.TabIndex = 1; this.LbTITULO.Text = "Prueba con control"; // // panel1 // this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.panel1.Location = new System.Drawing.Point(106, 25); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(518, 110); this.panel1.TabIndex = 2; // // BarraInformacion // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F ); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.panel1); this.Controls.Add(this.LbTITULO); this.Controls.Add(this.Pct); this.Font = new System.Drawing.Font("Tahoma", 8 .25F ); this.Name = "BarraInformacion"; this.Size = new System.Drawing.Size(627, 138); ((System.ComponentModel.ISupportInitialize)(this.Pct)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.PictureBox Pct; private System.Windows.Forms.Panel panel1; public System.Windows.Forms.Label LbTITULO; } }
4. Ejemplo de su Utilización private void Trv_SelectedIndexChanged(object sender, EventArgs e) { if (Trv.SelectedItems.Count == 1) { if (VariosSeleccionados) { CrearNuevasDescripciones = true; VariosSeleccionados = false; } else { CrearNuevasDescripciones = false; } ListviewItemEstudiante item = (ListviewItemEstudiante)Trv.SelectedItems[0]; //determinar la mayor edad Single mayor = 0; for (int i = 1; i <= (Trv.Columns.Count - 2); i++) { Single valor = 0; if (Trv.SelectedItems[0].SubItems[i].Text != "") { valor = Single.Parse(Trv.SelectedItems[0].SubItems[i].Text); if (valor > mayor) { mayor = valor; } } } if (CrearNuevasDescripciones) { barraInformacion1.Iniciar(Color.DimGray, Color.Black, "Actualmente usted ha seleccionado al estudiante: " + item.NombreCompleto.ToUpper(), -1); } barraInformacion1.LbTITULO.Text = "Actualmente usted ha seleccionado al estudiante: " + item.NombreCompleto.ToUpper(); barraInformacion1.AgregarDescripcion("ID", item.IDEstudiante.ToString("00000"), CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Promedio", Trv.SelectedItems[0].SubItems[Trv.Columns.Count - 1].Text, CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Tipo de documento", item.TipoDocumento, CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Documento de Identidad", item.Documento, CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Fecha de Nacimiento", item.FechaNacimiento.ToLongDateString(), CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Ciudad Natal", item.CiudadNacimiento, CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("edad", item.Edad + " años", CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Mayor Calificación", mayor.ToString() + " pts", CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Sexo", item.Sexo, CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Estado", item.Estado, CrearNuevasDescripciones); if (!CrearNuevasDescripciones) { barraInformacion1.ReordenarItems(); } } else if (Trv.SelectedItems.Count > 1) { if (!VariosSeleccionados) { barraInformacion1.Iniciar(Color.DimGray, Color.Black, "Elementos Selccionados", -1); VariosSeleccionados = true; CrearNuevasDescripciones = true; } else { CrearNuevasDescripciones = false; } int mayorEdad = 0, menorEdad = 0, acumEdad = 0; Single promedio = 0, mayorPromedio = 0; ListviewItemEstudiante itMayor = null; ListviewItemEstudiante itMenor = null; ListviewItemEstudiante itMayorPromedio = null; int EstaEnLaPrimeraPosicion = 1; foreach (ListviewItemEstudiante item in Trv.SelectedItems) { if (EstaEnLaPrimeraPosicion == 1) { menorEdad = item.Edad; itMenor = item; itMayorPromedio = item; EstaEnLaPrimeraPosicion = 0; } if (item.promedio > mayorPromedio) { mayorPromedio = item.promedio; itMayorPromedio = item; } if (item.Edad > mayorEdad) { mayorEdad = item.Edad; itMayor = item; } if (item.Edad < menorEdad) { menorEdad = item.Edad; itMenor = item; } acumEdad += item.Edad; } promedio = acumEdad / Trv.SelectedItems.Count; barraInformacion1.AgregarDescripcion("Seleccion", Trv.SelectedItems.Count.ToString(), CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Mayor edad", itMayor.NombreCompleto + ", " + mayorEdad + " años", CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Menor edad", itMenor.NombreCompleto + ", " + menorEdad + " años", CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Promedio de edad", promedio.ToString() + " años", CrearNuevasDescripciones); barraInformacion1.AgregarDescripcion("Mejor promedio", itMayorPromedio.NombreCompleto + ", con " + mayorPromedio.ToString("0.00") + " pts", CrearNuevasDescripciones); if (!CrearNuevasDescripciones) { barraInformacion1.ReordenarItems(); } } }
y unas imágenes de como se ve en modo de ejecución
71
« 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. static Keys tecla; private void Form1_KeyDown(object sender, KeyEventArgs e) { tecla = e.KeyCode; } private void Form1_KeyUp(object sender, KeyEventArgs e) { tecla = Keys.Escape; } private void timer1_Tick(object sender, EventArgs e) { switch (tecla) { case Keys .Left: this.pictureBox1.Location = new Point (pictureBox1 .Location.X - 1, pictureBox1 .Location.Y); break; case Keys.Right : this.pictureBox1.Location = new Point (pictureBox1 .Location.X + 1, pictureBox1 .Location.Y); break; case Keys.Up : this.pictureBox1.Location = new Point (pictureBox1 .Location.X, pictureBox1 .Location.Y-1); break; case Keys.Down : this.pictureBox1.Location = new Point (pictureBox1 .Location.X , pictureBox1 .Location.Y+1); break; } }
para que se mueva mas rapido, disminuye el valor de la propiedad intervalos del timer
72
« 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.htmlSiguiendo 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
« 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/ 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
« en: Miércoles 12 de Mayo de 2010, 14:47 »
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 using Microsoft.VisualBasic.Devices; namespace SonidosCSharp { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Audio MiSonido = new Audio (); MiSonido.Play("C:\sonido.mp3"); } } }
75
« en: Miércoles 12 de Mayo de 2010, 14:43 »
en el boton iria algo como esto: Const PREGUNTASECRETA="aqui va la respuesta"; valor=textbox1.text; switch(valor) { case PREGUNTASECRETA: this.hide(); F.Show(); Break; case Default: MessageBox.Show("El valor introducido no es valido","Error",Messageboxbutton.Ok,MessageBoxIcon=MessageBoxIcon.Asterisk); //o en tu caso creando el form3 Break; }
|
|
|