[ Ivi_Bridge @ 01.01.2013. 14:52 ] @
Pozdrav, radim neki projekat u Visual C#-u, imam 2 forma, i kada primenim sledeci kod on uvek daje vrednost frm1.xposition i frm1.yposition "0", ovaj kod stoji na form2, pre ovoga u form1 se podaci iz listbox-a ucitavaju u promenljive INT tipa:
Code:
 
           Form1 frm1 = new Form1();
           pictureBox1.Location = new Point(frm1.xposition, frm1.yposition);


Pre ovoga:
Code:

public int xposition;
public int yposition;

Nakon ovoga:
Code:

Proveravao sam u form1 dali stvarno x i y postion dobiju zeljene vrednosti i zakljucio da dobiju
xposition = Convert.ToInt(listbox1.Text); (Ovaj listbox se ucitava iz baze podataka tako da komanda radi i uzima vrednost selektovane stavke iz listboxa)
yposition = Convert.ToInt(listbox2.Text);


E sada gore navedeni kod pictureBox1 premesti na lokaciju 0, 0 (upisivao sam u labele i vrednosti su 0)...
Sada me zanima zasto ne radi i kako bi trebalo...
[ AMD guy @ 01.01.2013. 16:47 ] @
Ne znam jel to greska u pisanju ali u C# postoji samo
Convert.ToInt16,32,64 samo Convert.ToInt ne.

I jedna stvar, koji je scope promenljivih xposition i yposition?
[ Ivi_Bridge @ 01.01.2013. 17:06 ] @
Napisao sam int32 mada mi ne treba ni 16, ove kodove gore sam ispisao napamet bez razmisljanja pa sam zaboravio da ispisem...

Sta je scope ?
[ AMD guy @ 01.01.2013. 17:18 ] @
[url=http://en.wikipedia.org/wiki/Scope_(computer_science)]Scope[/url] je obseg vazenja promenljive
[ Ivi_Bridge @ 01.01.2013. 17:25 ] @
Ne shvatam, nisam ja tu nista posebno definisao
U Form1.Designer.cs sam stavio red
public int xposition;
-||- y
Nista vise...
[ Igor Gajic @ 01.01.2013. 17:40 ] @
Citat:


Ne shvatam, nisam ja tu nista posebno definisao
U Form1.Designer.cs sam stavio red
public int xposition;
-||- y


Za pocetak, u ovaj fajl se NIKADA ne stavlja custom kod posto se generise od strane Visual Studio-a.


[ AMD guy @ 01.01.2013. 17:42 ] @
To je bila samo moja inicijalna pretpostavka, bez vise informacija ne mogu da ti kazem vise.

EDIT:
I da, kao sto Igor kaze nemoj da menjas kod koji generise VS. Napravi svoju klasu i tamo smetaj kod, C# je ipak OOP jezik, koristi njegove prednosti.
[ Ivi_Bridge @ 01.01.2013. 17:42 ] @
Jbg, meni se ucinilo kao zgodno mesto... :)

Sta sad ? gde da ga dodam, mada ne mislim da ce to promeniti nesto...
[ Igor Gajic @ 01.01.2013. 17:47 ] @
Ako vec radis u VS...

Idi na formu(sa listboxom, dugmicima i ostalim). Pritisni F7. Voila. Dobijas back-end klasu u koju mozes da stavljas svoj kod. Primeti keyword "partial". To znaci da ce taj kod i onaj generisani kod ciniti jednu jedinstvenu klasu. E tu dodaj promenjive i onda imas kod otprilike ovakav:

Code (csharp):

    public partial class Form1 : Form
    {
        public int xposition;
        public int yposition;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
}
 
[ Ivi_Bridge @ 01.01.2013. 17:59 ] @
Ok, ali opet ovo ne resava moj problem ....
[ Igor Gajic @ 01.01.2013. 18:07 ] @
Citat:


Form1 frm1 = new Form1();
!!!!!! => pictureBox1.Location = new Point(frm1.xposition, frm1.yposition);


Linija 2 ce uvek imati vrednost (0,0), posto u liniji iznad pravis NOVU instancu Form1, i xposition i yposition dobijaju default int vrednost 0.

Treba ce vise informacija da ti resimo problem. Ovo je klasicni pocetnicki problem sa formama. Procesljaj malo ovaj podforum, mozda nadjes ideju za resenje...
[ Ivi_Bridge @ 01.01.2013. 18:17 ] @
Ahaaa... Shvatam.... Hvala na pomoci snacicu se....
[ Ivi_Bridge @ 01.01.2013. 19:52 ] @
Nista konkretno nisam nasao, ali radi ovako, ali sa dosta bugova.... nije bas pouzdano, ali jako se brzo odvija prelazak sa jednog na drugi form, neverujem da ce neko nesto uspeti da kopira u clipboard za 1 sec


Code:
Clipboard.SetText(xposition + "" + ypositon)
pictureBox1.Location = new Point(Convert.ToInt16(Clipboard.GetText()))

Kod je opet napamet mozda ima neku gresku ali se smisao vidi...
[ Igor Gajic @ 01.01.2013. 20:24 ] @
Uh, ala si krenuo na pogresnu stranu....

Pogledaj projekat koji sam okacio pa prouci kako mozes da primenis ovu ideju
[ Ivi_Bridge @ 02.01.2013. 12:08 ] @
Da, ali ti si ovde vec popunio listbox, a velicinu biras posle klika na dugme
Kod mene su u 2 listboxa ucitane dimenzije iz baze podataka, kada kliknes na pokazi kokaciju on otvara onda new form i treba da pokaze te dimenzije a ne da ti da da biras.... zato Form2 frm2 = new Form2(); oznaci prvu dimenziju (0, 0) tako da mi ovo nece pomoci jedino kako sam smislio je clipboard.. nemam druge ideje....
[ dusans @ 02.01.2013. 14:01 ] @
Knjigu u šake pa prouči malo OOP... instance, statičke promenljive i tako to...
Očigledno ne barataš osnovom kako treba i otuda i te ideje o Clipboardu.
[ AMD guy @ 02.01.2013. 14:10 ] @
Ivy, probaj ovu knjigu da nabavis
OOP nacin razmisljanja
[ Ivi_Bridge @ 02.01.2013. 15:37 ] @
Jbg, ja sma ovaj jezik ucio sam bez knjige... youtube itd...
[ AMD guy @ 03.01.2013. 10:26 ] @
Nije youtube za pocetnike, treba ti knjiga ili kurs ili predavanje
[ Ivi_Bridge @ 03.01.2013. 17:18 ] @
Ima vremena :)
[ Ivi_Bridge @ 07.01.2013. 17:19 ] @
Problem rešen, tako što iz form1 inicijalizujem form2 i odma iz form1 u form2 na željene mesta upisujem pa tek onda otvaram form2 sa već unetim vrednostima tako da su sada moje muke rešene :)
Hvala svima na vremenu, rešenje sam našao OVDE

[Ovu poruku je menjao Ivi_Bridge dana 07.01.2013. u 19:38 GMT+1]