Z czasem "ulepszania" programiku rodzą mi się nowe pytania. Teraz problem jest taki. Chce pytać użytkownika przy wyłączaniu, czy zapisać zmiany. Haczyk jest jeden, nie wiem jaki warunek postawić, aby program nie pytał się, gdy nie dokonano żadnych zmian na ListBox. Próbowałem kopiować zawartość listy do stringa na początku i na końcu programu, a następnie je porównywać... nie wypaliło.
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if( ??? )
{
if (MessageBox.Show("Chcesz zapisać zmiany?", "Zapis", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
}
}
}
...i jeszcze coś. Instrukcje od zapisu mam wrzucone pod prywatną funkcję kliknięcia przycisku zapisz. Pytanie, czy można odwołać się do tego w FormClosing ?
private void button1_Click(object sender, EventArgs e)
{
string tresc = "";
foreach (string element in listBox1.Items)
{
tresc += element + "#";
}
try
{
using (StreamWriter zapis = new StreamWriter(adres))
{
zapis.Write(tresc);
zapis.Close();
}
MessageBox.Show("Zapisywanie powiodło się", "Zapis", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show("Zapisywanie nie powidło się!", "Zapis", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}