Events?

Voisiko joku auttaa tyhmää, kun olen tässä koodaillut yhtä luettelo systeemiä... Se luettelo on tosi pitkä, ja sain siihen juuri semmoisen systeemin koodailtua, että sitä voi selata hiiren rullalla...

Mutta sitten havaitsin yhden ongelman... Kun se luettelo on "välilehdellä" (tabpage), niin se kuitenkin selaa sitä vaikka ei olisikaan samalla välilehdellä...

Eli selaaminen pitäisi saada jotenkin rajoitettua tiettyyn välilehteen (tabpage)... Ensimmäiseksi tulee mieleen väsäillä siihen joku "suodatin", mikä tarkkailisi sitä mikä välilehti on valittuna, mutta saisiko sitä koodattua sillä tavalla, että se hiiren rullaa "kuunteleva" subi ei aktivoituisi ollenkaan, ellei se tietty välilehti ole valittuna?

Ongelma on siinä, että se subin käynnistys liittynee jotenkin Form1 eventseihin, mutta välilehdillä ei ole mitään eventsejä... Saisiko niitä lisättyä sinne jotenkin, vai kyselenkö minä ihan tyhmiä?

Kieli on sitten VB .NET.
2452
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Jos tuo "luettelosi" on vaikka listbox tee näin:

Private Sub foo(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles
ListBox1.MouseWheel

End Sub

Noin tuo tapahtuma käsitellään vain kun kyseinen listbox on fokusoituna ja kyseisenlaista ongelmaa ei pitäisi tulla. Voit toki laittaa sen vaikka tabpagelle koska kyseinen eventti tulee Control -luokasta lähtien.

Äänestä
  • Eikös tuo ole semmoinen "event handler", vai mikä onkaan... Siis tuo kyllä käsittelee eventin, mutta millä sen eventin saa "nostettua"... (raise)...

    Private Sub TabPage3_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseWheel

    Esimerkiksi tuo koodi ei toiminut ollenkaan, ennenkuin poistin viittaukset tabpage3:n... Tai siis toimi ja toimi, kääntäjä ei herjannut yhtään, ei mitään erroreita tms. Mutta ei se myöskään tehnyt mitään...

    Ja sitten kun poistin viittaukset siihen välilehteen, niin rulla alkoi toimimaan ihan kaikkialta, mikä ei tietenkään ollut tarkoitus...

    "Jos tuo "luettelosi" on vaikka listbox tee näin: "

    No se luettelo koostuu useammasta labelista, ja siksi yritinkin saada sitä toimimaan nimenomaan välilehden perusteella... Väsäsin siihen suodattimen mikä hyväksyy rullaamisen vain oikealla välilehdellä... Mutta vaikka periaatteessa sain tuon tehtyä, niin minulla on muitakin ongelmia jotka johtuvat siitä, että en oikein ymmärrä tuota event systeemiä ihan kokonaan... Ja muutenkin, en ole ollenkaan tyytyväinen siihen suodatus järjestelmään, se on viritys, ja ennemmin tai myöhemmin sen kanssa tulee ongelmia.

    Äänestä

Kommentoi aloitusta


Typerys... kirjoitti:

Voisiko joku auttaa tyhmää, kun olen tässä koodaillut yhtä luettelo systeemiä... Se luettelo on tosi pitkä, ja sain siihen juuri semmoisen systeemin koodailtua, että sitä voi selata hiiren rullalla...

Mutta sitten havaitsin yhden ongelman... Kun se luettelo on "välilehdellä" (tabpage), niin se kuitenkin selaa sitä vaikka ei olisikaan samalla välilehdellä...

Eli selaaminen pitäisi saada jotenkin rajoitettua tiettyyn välilehteen (tabpage)... Ensimmäiseksi tulee mieleen väsäillä siihen joku "suodatin", mikä tarkkailisi sitä mikä välilehti on valittuna, mutta saisiko sitä koodattua sillä tavalla, että se hiiren rullaa "kuunteleva" subi ei aktivoituisi ollenkaan, ellei se tietty välilehti ole valittuna?

Ongelma on siinä, että se subin käynnistys liittynee jotenkin Form1 eventseihin, mutta välilehdillä ei ole mitään eventsejä... Saisiko niitä lisättyä sinne jotenkin, vai kyselenkö minä ihan tyhmiä?

Kieli on sitten VB .NET.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu