Diskuze: Posielanie informácií z UserControls do Form
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Form1 je třída, normální třída, nic ti nebrání uvnitř vytvořit proměnnou "stav", ke které v kódu můžeš přistoupit
frm.stav
Nicméně předpokládám, že v nějakém hlavním formuláři otevíráš přihlašovací formulář, jako ho otevíráš? Například se dá použít vlastnost "DialogResult".
Už som našiel spôsob ako mi to funguje Ak by niekoho zaujímalo ako,
tak nižšie dám kód. Rovno mi môžete keď tak povedať, že či to je
dobré riešenie alebo ani nie. Ale aj tak veľmi pekne ďakujem za
odpoveď.
Hlavný Form ( Form 1 )
Registracia RegUC;
.
.
.
.
private void PrihlasitSaClick()
{
if (prihlaseny)
{
PrihlasenyUzivatel.Visible = false;
PrihlasenyUzivatel.Text = "Uzivatel";
PrihlasitSa_Label.Text = "Prihlásiť sa / Registrovať sa";
prihlaseny = false;
}
else
{
ukazatel = 9;
ZobrazovaciPanel.Controls.Clear();
RegUC = new Registracia(this);
ZobrazovaciPanel.Controls.Add(RegUC);
RegUC.Dock = DockStyle.Fill;
}
}
A potom v UserControls:
Form1 frm;
public Registracia(Form1 f)
{
InitializeComponent();
frm = f;
}
.
.
.
.
private void Prihlasenie()
{
if (PrihlasovacieMeno.Text == "" && PrihlasovacieHeslo.Text == "")
{
MessageBox.Show("Meno a heslo musia byť vyplnené !!");
}
else
{
if (this.OpenConnection() == true)
{
int i = 0;
MySqlCommand cmd = connection.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from Uzivatelia where Meno='" + Sifrovat.encrypt(PrihlasovacieMeno.Text) + "' and Heslo='" + Sifrovat.encrypt(PrihlasovacieHeslo.Text) + "'";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(dt);
i = Convert.ToInt32(dt.Rows.Count.ToString());
if (i == 0)
{
PrihlasovacieMeno.Text = "";
PrihlasovacieHeslo.Text = Text = "";
MessageBox.Show("Chybné prihlasovacie údaje !");
this.CloseConnection();
}
else
{
this.CloseConnection();
File.WriteAllText(@"AktivnyUzivatel.txt", PrihlasovacieMeno.Text);
PrihlasovacieMeno.Text = "";
PrihlasovacieHeslo.Text = Text = "";
frm.ZmenaStavuPrihlasenia(true);
}
}
else
{
MessageBox.Show("Nastala neočakávaná chyba !");
this.CloseConnection();
frm.ZmenaStavuPrihlasenia(false);
}
}
}
Zobrazeno 3 zpráv z 3.