Blackhawk50000
Erfahrenes Mitglied
Hallo liebe Gemeinde =),
eine kurze erklährung zu meinem Programm:
Es gibt 3 Fenster: ein Hauptmenü das zu nicht viel anderem da ist als eines der anderen beiden Festern zu öffnen.
Um das ganze einfacher zu gestallten beschrenken wir uns nur auf das Eingabefenster da es sich bei dem anderen gleich verhällt.
Anfang habe ich das Eingabefenster mehrere male gleichzeitig öffnen können. Duch einbauen einer bool variable habe ich dies dann verhindert. das sah so aus:
Hat auch bombig funktioniert.......dachte ich.
Nach einer erfolgreichen Eingabe des Eintrages schließt das Fenster wieder. Doch im Hauptmenü bleibt _Archivierung_Offen auf True.
Da ich das natürlich unmöglich so lassen konnte, wird mein Eingabefenster nun im Closing Event die Eigenschaft Archivierung_Offen des Hauptnemüs auf Fals setzen.
Doch hier entsteht der Fehler. Denn komischer weise bleibt die Variable auf True.
Ich werde nun den Code des Hauptmenüs und das Closing event des Eingabefensters hier herrein koperen.
Danke im Vorraus für eure Hilfe.
Hauptmenü:
Eingabefenster:
eine kurze erklährung zu meinem Programm:
Es gibt 3 Fenster: ein Hauptmenü das zu nicht viel anderem da ist als eines der anderen beiden Festern zu öffnen.
Um das ganze einfacher zu gestallten beschrenken wir uns nur auf das Eingabefenster da es sich bei dem anderen gleich verhällt.
Anfang habe ich das Eingabefenster mehrere male gleichzeitig öffnen können. Duch einbauen einer bool variable habe ich dies dann verhindert. das sah so aus:
PHP:
private bool _Archivierung_Offen;
if (!Archivierung_Offen)
{
_Archivierung = new f_Archivierung();
_Archivierung.Show();
_Archivierung_Offen = true;
}
else
{
_Archivierung.Activate();
}
Hat auch bombig funktioniert.......dachte ich.
Nach einer erfolgreichen Eingabe des Eintrages schließt das Fenster wieder. Doch im Hauptmenü bleibt _Archivierung_Offen auf True.
Da ich das natürlich unmöglich so lassen konnte, wird mein Eingabefenster nun im Closing Event die Eigenschaft Archivierung_Offen des Hauptnemüs auf Fals setzen.
Doch hier entsteht der Fehler. Denn komischer weise bleibt die Variable auf True.
Ich werde nun den Code des Hauptmenüs und das Closing event des Eingabefensters hier herrein koperen.
Danke im Vorraus für eure Hilfe.
Hauptmenü:
PHP:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.OleDb;
namespace SMS_Archiv
{
public partial class f_Hauptmenue : Form
{
#region Deklarationen
private bool _Archivierung_Offen;
public bool Archivierung_Offen
{
get { return _Archivierung_Offen; }
set { _Archivierung_Offen = value; }
}
private bool _Auslesen_Offen;
public bool Auslesen_Offen
{
get { return _Auslesen_Offen; }
set { _Auslesen_Offen = value; }
}
f_Archivierung _Archivierung;
f_Auslesen _Auslesen;
public static string _DatenbankPfad = @"Datenbank\SMS-Archiv.mdb";
private const string _BackupPfad = @"Backup\SMS-Archiv.mdb";
public OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + _DatenbankPfad);
#endregion
public f_Hauptmenue()
{
InitializeComponent();
}
private void f_Hauptmenue_Load(object sender, EventArgs e)
{
if (File.Exists(_DatenbankPfad))
{
DateTime _ErstellDatumAlt = Directory.GetCreationTime(_DatenbankPfad);
if (_ErstellDatumAlt.Month < DateTime.Now.Month)
{
File.Copy(_DatenbankPfad, _BackupPfad, true);
}
}
else
{
c_SMS_Functions _Functions = new c_SMS_Functions();
if (_Functions.ErstelleAccessDatenbank(_DatenbankPfad))
{
string strSQL = "";
OleDbCommand SQLQuery = new OleDbCommand(strSQL, con);
con.Open();
SQLQuery.CommandText = "CREATE Table SMS ( SMS_Text TEXT NOT NULL, SMS_Zeit DATE NOT NULL, SMS_Datum DATE NOT NULL)";
SQLQuery.ExecuteNonQuery();
SQLQuery.Dispose();
con.Close();
MessageBox.Show(this, "Datenbank wurde erfolgreich neu angelegt", "Erfolg", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(this, "Fehler beim erstellen der Datenbank", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void button1_Click(object sender, EventArgs e)
{
if (!Archivierung_Offen)
{
_Archivierung = new f_Archivierung();
_Archivierung.Show();
Archivierung_Offen = true;
}
else
{
_Archivierung.Activate();
}
}
private void button2_Click(object sender, EventArgs e)
{
if (!Auslesen_Offen)
{
_Auslesen = new f_Auslesen();
_Auslesen.Show();
Auslesen_Offen = true;
}
else
{
_Auslesen.Activate();
}
}
}
}
Eingabefenster:
PHP:
private void f_Archivierung_FormClosing(object sender, FormClosingEventArgs e)
{
f_Hauptmenue _Hauptmenue = new f_Hauptmenue();
_Hauptmenue.Archivierung_Offen = false;
}