Oppure

Loading
28/11/10 22:26
HeDo
Postato originariamente da Jollyman:

Non accede lo stesso ai controlli. Rende disponibile la modifica delle proprietà e varie cose del Form1 tranne che ai controlli (listBox, Button, label)


perchè i controlli sono dichiarati come private, basta che vai nel designer.vb e metti public al posto di private sui controlli che vuoi modificare dall'altro form.

@Arack: nessuno è nato imparato, non stiamo parlando di questo. Fidati che l'atteggiamento di "la sparo tanto per" ti porterà solo problemi in qualsiasi ambito :) cmq io non ho atteggiamenti ostili verso nessuno, al massimo ho atteggiamenti ostili verso atteggiamenti stupidi :)
aaa
29/11/10 18:00
Il Totem
Tutte o quasi le soluzioni postate sono, a mio parere, poco eleganti. In linea di principio, ogni oggetto dovrebbe comunicare solo con quelli a cui ha direttamente accesso. In questo caso, saltare dalla classe al di fuori di essa, nel form, non è fattibile, poiché, se scritta secondo il paradigma ad oggetti, essa dovrebbe essere indipendente rispetto al client che la userà in futuro (e quindi ignorare ogni istanza particolare del contesto in cui è usata).
Per risolvere il problema con stile, potresti aggiungere alla classe un'entità che renda conto di quando inizia il listening, nella fattispecie un evento. Sarà poi il form stesso a gestire l'evento e nel codice associato a cambiare le proprie proprietà. Con questa soluzione, la classe non si cura dell'esterno; il form riceve l'informazione dalla classe e di conseguenza modifica il proprio stato.
aaa