public void AfegeixEtiqueta(String sTitol, FormFitxaOpcions ffo = FormFitxaOpcions.Cap, int iTag = 0) { if ((ffo & FormFitxaOpcions.AlCostat) == FormFitxaOpcions.AlCostat) { x = iUltimaPosX; // Si no hi ha label, no cal tant d'espai if (sTitol != "") { x = x + AMPLADA_ENTRE_OBJECTES; } y = y - ALTURA_ENTRE_OBJECTES; } else { x = 0; } Label lbl = new Label(); lbl.Text = sTitol; lbl.Left = x; lbl.Top = y + 4; lbl.AutoSize = true; FPanel.Controls.Add(lbl); if ((ffo & FormFitxaOpcions.AlCostat) == FormFitxaOpcions.AlCostat) { SizeF size = lbl.CreateGraphics().MeasureString(lbl.Text, lbl.Font); x = x + (int)size.Width + AMPLADA_ENTRE_ETIQUETA; } else { x = x + 50; } }
public void AfegeixData(String sTitol, String sCamp, FormFitxaOpcions ffo = FormFitxaOpcions.Cap) { AfegeixEtiqueta(sTitol, ffo); DateTimePicker tb = new DateTimePicker(); tb.DataBindings.Add("Text", FBindingSource, sCamp, true); tb.Left = x + 100; tb.Top = y; iUltimaPosX = x + tb.Width; // ComprovaPrimerElement(obj); // if not Encolumnat then y = y + ALTURA_ENTRE_OBJECTES; FPanel.Controls.Add(tb); }
/// <summary> /// Afegeix un camp booleà en forma de CheckBox. /// </summary> /// <param name="sTitol">Títol del camp.</param> /// <param name="sCamp">Nom del camp (de la base de dades).</param> /// <param name="ffo">Opcions.</param> public void AfegeixBoolea(String sTitol, String sCamp, FormFitxaOpcions ffo = FormFitxaOpcions.Cap) { AfegeixEtiqueta(sTitol, ffo); CheckBox cb = new CheckBox(); cb.DataBindings.Add("Checked", FBindingSource, sCamp, true); cb.Left = x + 100; cb.Top = y; //tb.Width = iLongitud; iUltimaPosX = x + cb.Width; // ComprovaPrimerElement(obj); // if not Encolumnat then y = y + ALTURA_ENTRE_OBJECTES; FPanel.Controls.Add(cb); }
public void AfegeixLlistaDB(String sTitol, String sCamp, int iLongitud, String sTaula, String sCampClau, String sCampValor, Type ClasseRecerca, FormFitxaOpcions ffo = FormFitxaOpcions.Cap) { AfegeixEtiqueta(sTitol, ffo); XEditLookup eb = new XEditLookup(); eb.Connexio = FConnexio; eb.Taula = sTaula; eb.CampClau = sCampClau; eb.CampValor = sCampValor; eb.DataBindings.Add("Text", FBindingSource, sCamp, true); eb.Left = x + 100; eb.Top = y; iUltimaPosX = x + eb.Width; eb.ButtonClick += eb_Click; eb.ClasseRecerca = ClasseRecerca; //FClasseRecerca = ClasseRecerca; // ComprovaPrimerElement(obj); // if not Encolumnat then y = y + ALTURA_ENTRE_OBJECTES; FPanel.Controls.Add(eb); }
/// <summary> /// Afegeix un desplegable amb una llista d'opcions. Les opcions tenen el format clau-valor. /// </summary> /// <param name="sTitol">Etiqueta del desplegable.</param> /// <param name="sCamp">Nom del camp de la base de dades.</param> /// <param name="iLongitud">Amplada del desplegable.</param> /// <param name="Codis">Llista de codis (valor intern que es desarà a la base de dades) del desplegable.</param> /// <param name="Codis">Llista de valors que es mostraran al desplegable.</param> public void AfegeixLlista(String sTitol, String sCamp, int iLongitud, int[] Codis, string[] Valors, FormFitxaOpcions ffo = FormFitxaOpcions.Cap) { AfegeixEtiqueta(sTitol, ffo); ComboBox cb = new ComboBox(); cb.DataBindings.Add(new Binding("SelectedValue", FBindingSource, sCamp, true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); cb.DropDownStyle = ComboBoxStyle.DropDownList; cb.Left = x + 100; cb.Top = y; iUltimaPosX = x + cb.Width; DataTable dsTbl = new DataTable("ds" + sCamp); dsTbl.Columns.Add("key", typeof(string)); dsTbl.Columns.Add("value", typeof(string)); // Iterem 2 arrays amb un sol bucle // http://stackoverflow.com/questions/1955766/iterate-two-lists-or-arrays-with-one-foreach-statement-in-c-sharp foreach (var CodiValor in Codis.Zip(Valors, Tuple.Create)) { object[] row = new object[2]; row[0] = CodiValor.Item1; row[1] = CodiValor.Item2; dsTbl.Rows.Add(row); } cb.DataSource = dsTbl; cb.ValueMember = "key"; cb.DisplayMember = "value"; y = y + ALTURA_ENTRE_OBJECTES; FPanel.Controls.Add(cb); }