Witajcie,
Mam mały problem, dodawałem jednego pośredniego Forma do projektu i przestały działać mi pozostałe Formy odwołujące się do pierwszego Forma, a mianowicie.
Form1 jest bazą - to w nim dzieją się wszystkie najważniejsze akcje programu.
We wstążce znajduje się odwołanie do "opcji" i tutaj w przed modyfikacją, po kliknięciu od razu przechodził do okna w którym był lista rozwijana i po kliknięciu w jeden z wyborów listy wyskakiwał odpowiedni form dzięki któremu można było modyfikować dane z pierwszego forma.
Wprowadzona modyfikacja polegała na dodaniu dodatkowego "pośredniego" Forma, który służy jako opcja "logowania" (dostępu do Forma z opcjami, aby osoba nieupoważniona nie mogła nic zmienić), po dodaniu tej modyfikacji coś się rozjechało, ponieważ po "zalogowaniu się" i zmianie czegokolwiek w opcjach wyrzuca w odpowiednim formie błąd "System.NullReferenceException" w odniesieniu do Forma1.
poniżej kod pośredniego forma logowania:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Linia
{
public partial class Form8 : Form
{
public Form6 Form6;
public Form1 Form1;
public Form2 Form2;
public Form3 Form3;
public Form4 Form4;
public Form5 Form5;
public Form7 Form7;
public Form8(Form1 Form)
{
InitializeComponent();
this.Form1 = Form;
}
public Form8(Form6 Form)
{
InitializeComponent();
this.Form6 = Form;
}
public Form8(Form2 Form)
{
InitializeComponent();
this.Form2 = Form;
}
public Form8(Form3 Form)
{
InitializeComponent();
this.Form3 = Form;
}
public Form8(Form4 Form)
{
InitializeComponent();
this.Form4 = Form;
}
public Form8(Form5 Form)
{
InitializeComponent();
this.Form5 = Form;
}
public Form8(Form7 Form)
{
InitializeComponent();
this.Form7 = Form;
}
private void Form8_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
string uzytkownik = this.textBox3.Text;
string haslo = this.textBox4.Text;
if (SprawdzNazweiHaslo(uzytkownik, haslo))
{
//MessageBox.Show("Jest w systemie", "Zaalogowano");
Form6 Form6 = new Form6(this);
Form6.Show();
//logowanieFrm.Close();
this.Close();
}
else
{
MessageBox.Show("Niepoprawna nazwa użytkownika lub hasło", "Błąd logowania");
return;
}
}
public bool SprawdzNazweiHaslo(string uzytkownik, string haslo)
{
if (uzytkownik == "xxx" & haslo == "xxx")
return true;
else
return false;
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
}
}
}