Új hozzászólás Aktív témák

  • amargo

    addikt

    Nekem is volna egy kérésem:

    C#-ban
    Van egy saját kontrolom, ami contextmenustrip, ezt hozzá kötözöm egy saját listboxhoz (mindezt design time), a baj az, hogy ezt a contextmenustrip-et, nem a formra rakja a design, hnem lentre az alsó sávba, így amikor rákeresek a contextmenustrip-ben, hogy FindForm, akkor nem találja meg, hogy hova lett kötözve, a lényeg az lenne, hogy a listbox-ot megtaláljam, de így nem tudom.

    Próbáltam, a Parent-alapján is keresni, de semmi null-t kapok vissza.

    A próbléma az, hogy csináltam egy toolstripItem(FilterBox)-et is, amit belerakok design time a contextmenustrip-be, és ennek a FilterBox-nak van egy Filter Property-je, ez felhoz egy ablakot, amiben elképzeléseink szerint benne lenne a hozzá kötözött listbox oszlopnevei. Na, de mivel nem tudom sehonnan, hogy létezik-e listbox a formon, mert már a saját contextmenustrip-ből sem jutok el a formig
    Control cr = this.Parent as Control;
    BaseForm frm = cr.FindForm() as BaseForm;
    Ezzel az adott kontrolt megkeresném melyik formon van és akkor a formra kapolt kontrolokat végig tudnám nézni.
    De itt a frm, mindig null lesz.. jogosan is, mert a this(contextmenustrip objektum) nem a formon van.

    Ötletként még kaptam ezt, de még nem próbáltam:
    Viszont van olyan, hogy an olyan, hogy designer. A contextmenustripnek kellene egy designert csinálni, ami inicializáláskor ráakaszkodik a changeservice-re (a formnak van egy ilyen designere, ha jól emlékszem), és ha a contextmenustrip property változik, aminek az új értéke a kontrol, akkor maga a designer beállíthat egy propertyt, amibe beteszi a szerkesztett kontrolt. Így meglehet kapni azt a kontrolt (listboxot), amihez a contextmenustrip tartozik.

    Hátha van még más út is, de most ezen kezdek mozogni.
    Ha valakinek van még ötlete azt vátrom :)

Új hozzászólás Aktív témák

Hirdetés