Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa kontekst menijem u VB.NET [[ newbie ]]

[es] :: .NET :: .NET Desktop razvoj :: Problem sa kontekst menijem u VB.NET [[ newbie ]]

[ Pregleda: 1464 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IvanZD
Ivan Toman
Zadar

Član broj: 32041
Poruke: 134
*.ultra.hr



Profil

icon Problem sa kontekst menijem u VB.NET [[ newbie ]]14.08.2004. u 00:18 - pre 187 meseci
Pozdrav forumu!

Imam jedan problem.. zapeo sam evo vec 2 dana na tome i nema nekog napretka.. a stvar je sigurno trivijalna, samo sto ja ne vidim u cemu je stos. Je, priznajem, totalni sam newbie, u tome je stos.. al ako bi mogli pomoci, bio bih jako zahvalan!

Pojednostavniti cu koliko god mogu da olaksam i sebi i vama (nadam se da ce netko imati zivaca da pomogne). Rijec je o VB.NET. Recimo da imam jednu formu sa 3 textboxa jednim iznad drugog. Nisu u arrayu. Redom, TextBox1, TextBox2 i TextBox3. Neka sam na formu postavio ContextMenu1 i pridodao mu dvije naredbe, "odvuci gore" i "odvuci dolje"; tj. MenuItem1 i MenuItem2. Neka sam na sve tekstboxove nakacio ContextMenu1.

Sto sad trebam dobit? Zelim da mi naredbe iz desnog klika misom po textboxovima sortiraju tekst koji je u njima upisan, i ovako:

Kad right-kliknem recimo na TextBox2 i odaberem "odvuci gore", tekst koji je bio u njemu se mora pojaviti u textboxu 1, a onaj iz textboxa 1 treba otic u textbox2. Slicno kad kliknem "odvuci dolje"... onda se trebaju zamijeniti sadrzaji dvojke i trice - dvojka ide dolje, trica u sredinu.

Kakav kod mi treba? Evo dva dana razmisljam i nista.. problem je u tome sto recimo... (kod samo za klikat na dvojku, radi pojednostavljenja) :


Private Sub TextBox2_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox2.MouseDown
TextBox2.Focus()
End Sub

' zasto ovo iznad? zato da kad napravim right-click na textbox2 da
' on dobije focus.. ne znam kako drugo da kazem programu
' da izvrsi naredbu nad BAS ONIM textboxom nad kojim sam
' kliknuo - u tome lezi osnova problema! No, evo nastavka ideje:

Private Sub MenuItem1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
Dim spremnik As String
If TextBox2.Focus = True
spremnik = TextBox2.Text ' spremam sadrzaj dvojke u varijablu
TextBox2.Text = TextBox1.Text ' kopiram sadrzaj jedinice u dvojku
TextBox1.Text = spremnik ' izbacujem sadrzaj varijable u textbox1
end if
End Sub

Ovom operacijom zamijenjeni su sadrzaji textboxova i to sljaka OK. Medjutim, ono sto ne sljaka, koliko sam uspio zakljuciti iz izvodjenja step-by-step, je to sto provjera "If TextBox2.Focus = True" uvijek prolazi, bez obzira da li textbox2 ima focus ili ne.

Jos bi tu dosle iste takve private sub za textbox1 i textbox3 sa provjerom posjedovanja focusa.

Nadam se da ste shvatiti problem i da mi mozete pomoci. Vjerojatno to treba rijesiti nekako drugacije umjesto ove zafrkancije oko focusa...

Puno hvala unaprijed!
 
Odgovor na temu

akrosoft
Dusan Mihajlovic
Beograd

Član broj: 31201
Poruke: 129
*.nat-pool.bgd.sbb.co.yu

Sajt: www.RoditeljPortal.com


Profil

icon Re: Problem sa kontekst menijem u VB.NET [[ newbie ]]14.08.2004. u 01:11 - pre 187 meseci
Da bi dobio inf o tome na koji si txtBox kliknuo (koliko shvatam u tome je problem), probaj da koristis:
MenuItem1.GetContextMenu().SourceControl u Click dogadjaju za menuItem1. Dobices kontrolu na koju je korisnik kliknuo...potrebno je da je kastjes u textBox ili sta vec zelis da radis sa tom informacijom. Moze da uprostis jos malo stvar, i da oba MenuItem-a linkujes za jednu proceduru, odnosno da ih hvatas na istom mestu, pa da uzimas sender objekat za Click event kao inf na koji je menuItem kliknuto, njega kastujes u menuItem i iz njega vadis posle GetContextMenu().SourceControl.

 
Odgovor na temu

IvanZD
Ivan Toman
Zadar

Član broj: 32041
Poruke: 134
*.ultra.hr



Profil

icon Re: Problem sa kontekst menijem u VB.NET [[ newbie ]]14.08.2004. u 10:35 - pre 187 meseci
Pokusati cu i ovaj pristup da vidim koji mi bolje odgovara, u medjuvremenu sinoc sam dobio jos jedan prijedlog koji radi, naime, sve kako sam ja napisao, samo sam umjesto if Textbox2.focus = True then .. trebao stavit if Textbox2.focused = True then.. i radi :-)

BTW, puno hvala na prijedlogu, isprobati cu i to!
 
Odgovor na temu

akrosoft
Dusan Mihajlovic
Beograd

Član broj: 31201
Poruke: 129
*.nat-pool.bgd.sbb.co.yu

Sajt: www.RoditeljPortal.com


Profil

icon Re: Problem sa kontekst menijem u VB.NET [[ newbie ]]14.08.2004. u 10:48 - pre 187 meseci
Citat:

samo sam umjesto if Textbox2.focus = True then .. trebao stavit if Textbox2.focused = True

...zato sto je Focus metoda i uvek ce ti vratiti true ako uspe da setuje fokus na textbox.

Sa ovim gore sto sam ti napisao izbegavas celu tu zajebanciju sa fokusima, mozes da izbacis proceduru koja hvata MouseDown gde setujes fokus.
 
Odgovor na temu

IvanZD
Ivan Toman
Zadar

Član broj: 32041
Poruke: 134
*.ultra.hr



Profil

icon Re: Problem sa kontekst menijem u VB.NET [[ newbie ]]14.08.2004. u 17:43 - pre 187 meseci
Citat:
akrosoft: ...zato sto je Focus metoda i uvek ce ti vratiti true ako uspe da setuje fokus na textbox.


Da, ovo sam skopcao..

Citat:
akrosoft:Sa ovim gore sto sam ti napisao izbegavas celu tu zajebanciju sa fokusima, mozes da izbacis proceduru koja hvata MouseDown gde setujes fokus.

Hvala na uputi :-)


 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Problem sa kontekst menijem u VB.NET [[ newbie ]]

[ Pregleda: 1464 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.