Dudas y recursos para programas que no están en ninguno otro de los foros.
Avatar de Usuario
por Ludwig Suarez
#4510 Hola, vamos a revisar bien su código a ver si logramos detectarlo, si es posible tome algunas fotos a ver si podemos dar con el error
Avatar de Usuario
por Mgomezv
#4513 Buenas tardes

he intentado adjuntar archivo con el codigo del formulario
pero no funciona adecuadamente
les uno codigo del formulario
Empieza Codigo
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Formulario
{
public partial class fMain : Form
{
private bool _IsNewtask;
private bool _Haschanges;

private object lstTasks;

public fMain()
{
InitializeComponent();
Reset();

}

private void Reset()
{
this.lstTasks = false;
this.btnSave.Enabled = false;
this.btnCancel.Enabled = false;
this.txtTask.Enabled = false;
this.btnAdd.Enabled = true;

this.txtTask.Text = "";


//enable/disable the listbox based on number items
this.lsttaks.Enabled = this.lsttaks.Items.Count > 0;
this.lsttaks.SelectedIndex = -1;

_Haschanges = false;

}

private void AddNewTask()

{
if (_Haschanges)
{
if (MessageBox.Show("Guardar cambios ?", "Guardar", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
if (!this.SaveChanges())



return;
}
}
btnCancel.Enabled = true;
this.btnSave.Enabled = true;
this.btnAdd.Enabled = false;
this.txtTask.Enabled = true;
this.txtTask.Text = "";
this.txtTask.Focus();

_IsNewtask = true;

}

private void DeleteTask()

{
if (MessageBox.Show("Estas seguro de eliminar ?", "Confirmar eliminacion", MessageBoxButtons.YesNo)
== DialogResult.Yes)

if (lsttaks.SelectedIndex >= 0 || lsttaks.SelectedIndex < lsttaks.Items.Count)

{
this.lsttaks.Items.RemoveAt(this.lsttaks.SelectedIndex);
this.Reset();

}

}


private bool SaveChanges()
{
if (txtTask.Text.Length == 0)
{
MessageBox.Show("Debe escribir un nombre para la tarea", "Guardar", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}

if (_IsNewtask)
{

this.lsttaks.Items.Add(this.txtTask.Text);
this.Reset();
}
else
{
this.lsttaks.Items[this.lsttaks.SelectedIndex] = this.txtTask.Text;
MessageBox.Show("Guardado correctamente");
}
return true;


}

private void Cancel()
{
if (_Haschanges)
{
if (MessageBox.Show("Guardar cambios ?", "Guardar", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
if (!this.SaveChanges())

return;

}
}
}





private void label1_Click(object sender, EventArgs e)
{

}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadSelectedTask();

}

private void btnAdd_Click(object sender, EventArgs e)
{
this.AddNewTask();

}

private void btnSave_Click(object sender, EventArgs e)
{
this.SaveChanges();

}

private void btnDelete_Click(object sender, EventArgs e)
{
this.DeleteTask();

}

private void btnCancel_Click(object sender, EventArgs e)
{
this.Cancel();

}
private void LoadSelectedTask()
{
if (lsttaks.SelectedIndex >= 0 || lsttaks.SelectedIndex < lsttaks.Items.Count)


txtTask.Text = lsttaks.Items[lsttaks.SelectedIndex].ToString();
this.btnSave.Enabled = true;
this.btnAdd.Enabled = false;
this.txtTask.Enabled = true;
this.btnDelete.Enabled = true;
this.btnCancel.Enabled = true;

_IsNewtask = false;

}

private void txtTask_TextChanged(object sender, EventArgs e)
{
_Haschanges = true;

}

private void fMain_FormClosing(object sender, FormClosingEventArgs e)
{

DialogResult result = MessageBox.Show("Guardar cambios ?", "Guardar", MessageBoxButtons.YesNoCancel);

if (result == DialogResult.Yes)
{
if (!this.SaveChanges())
{
e.Cancel = true;
return;

}

return;
}
else if (result == DialogResult.No)
{
}
else if (result == DialogResult.Cancel)
{
e.Cancel = true;

}
}
}
}
Termina Codigo
Avatar de Usuario
por Mgomezv
#4538 Buenas tardes
Todavía estoy esperando algún comentario y ya hace días?
Saludos