Tre domande su C#

lunedì 30 luglio 2007 - 03.29

mattia.it Profilo | Newbie

Sto facendo un programma con più form e volevo sapere se era possibile modificare una proprietà di un form comandandola da un evento di un secondo form:
ad esempio quando ho l'evento load del form2 il form1 si disabilita e quando poi ho l'evento click di un pulsante sul form2 il form1 mi si riabilita.

Seconda domanda: è possibile avere un evento click di un pulsante più prolungato? Cioè che per mandare in esecuzione l'evento non basta cliccare sul controllo ma bisogna necessariamente tenere il pulsante del mouse cliccato per tipo 2 secondi sul controllo altrimenti non si attiva. Esiste già un controllo che fa questa funzione o è possibile impostare l'evento click di un semplice pulsante?

Terza e ultima domanda: devo collegare un'apparecchiatura esterna tramite rs232 al computer alla quale inviando un certo tipo di dato si abilitano o si disabilitano delle uscite per poter poi controllare qualcosa di esterno al computer stesso (del tipo da un controllo button sul computer comandare l'accensione di una lampadina). Qualcuno mi sa dare un consiglio su dove possa trovare le informazioni per poter fare questa cosa: es. siti internet, libri,etc.(calcolando che l'interfaccia ce l'ho gia).

Grazie in anticipo a chiunque avrà anche solo perso un secondo della sua vita per poter chiarire i miei dubbi.
Ciao Mattia.

Brainkiller Profilo | Guru

>Sto facendo un programma con più form e volevo sapere se era
>possibile modificare una proprietà di un form comandandola da
>un evento di un secondo form:
>ad esempio quando ho l'evento load del form2 il form1 si disabilita
>e quando poi ho l'evento click di un pulsante sul form2 il form1
>mi si riabilita.

Ciao Mattia,
beh sì, allora, un metodo è modificare i costruttori di classe, e tirarti dietro i riferimenti alle istanze delle Form. In questo modo anche dal Form2 puoi comandare il Form1.

>Seconda domanda: è possibile avere un evento click di un pulsante
>più prolungato?

Ciao,
non ho mai visto questa problematica. Però pensandoci potresti lavorare sugli eventi MouseDown e MouseUp che scattano rispettivamente quando uno preme il pulsante del mouse e quando lo rilascia.
In questo modo durante il MouseDown puoi far partire un Timer che fai terminare durante il MouseUp. Se il tempo trascorso è maggiore uguale a quello che tu stabilisci fai eseguire il resto del codice.

>Terza e ultima domanda: devo collegare un'apparecchiatura esterna
>tramite rs232 al computer alla quale inviando un certo tipo di
>dato si abilitano o si disabilitano delle uscite per poter poi

Beh per questo in genere si usano dei controlli per gestire la seriale. Se usi .NET 2.0 c'è già un controllo apposta per gestire la Seriale, se usi .NET 1.1 non c'è e devi usare oggetti di terze parti. Per i comandi da inviare, naturalmente bisogna seguire la documentazione fornita dal produttore dell'apparato che viene comandato.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5