
c# static error
Zdravím,
zkouším si udělat program, ale píše mi to chybu, kterou už vážně nevím jak vyřešit, mohl by mi někdo prosím poradit ? Díky moc
ERROR: An object reference is required for the non-static field, method, or property 'Casino_Prace.Form1.loginBox a passBox taky ;) '
a když hodím místo static void ResetBox jen void ResetBox, tak to zase píše chybu z druhého souboru, že to chce static.
public partial class Form1 : Form
{
public static string login, pass;
public Form1()
{
InitializeComponent();
}
public static void ResetBox()
{
loginBox.Text = "";
passBox.Text = "";
}
jinej soubor CS, jedná se o další soubor
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using Casino_Prace;
using System.Windows.Forms;
namespace MySQL_Bayer
{
class MySQL_Moje
{
private static String str = @"";
public static int overeno = 0;
public static void prihlaseni()
{
try
{
(tady je MySQL Pripojeni)
if (db_select_usr == Casino_Prace.Form1.login && db_select_pass == Casino_Prace.Form1.pass)
{
overeno = 1;
}
else
{
overeno = 0;
MessageBox.Show("bbbb!!", "aa", MessageBoxButtons.OK, MessageBoxIcon.Error);
Form1.ResetBox();
}
}
catch (MySqlException errorX)
{
MessageBox.Show(Convert.ToString(errorX));
}
}
}
}
preco mas membery login a pass deklarovane static? Trochu nezmysel IMHO.
protože by ve druhém souboru nefungovaly ->
začne to psát, že login je non-static
Programy sa ale nepisu ze skusam nejake nahodne kombinacie slov ale pisat mas az ked vies co robis. Ptz evidentne nemas ani paru.
Ked mas nestatic memberov tak najprv vytvoris instanciu objektu danej dtriedy a potom pristupujes na tie vytvorene objekty.
Konieckoncov mas to jasne napisane aj u popisu toho erroru, ked uz neovladas ani zaklady OOP. http://msdn.microsoft.com/cs-cz/library/s35hcfh7%2 8v=vs.80%29.aspx
A k tomu erroru:
A kde mas deklarovane tie loginBox a passBox? Nikde v tych zdrojakoch nevidim deklaraciu
Je to klasická Windows Form Aplikace (VisualStudio2010), máš Form1.Designer.cs a tam se to deklaruje automaticky, když to vytvořím z ToolBoxu do Designe
Děláš to úplně špatně. Hodnoty bez měl z jedné do druhé třídy předávat (např. v konstruktoru) a ne si je opačným směrem vytahovat.
áhá no ..