Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Disabilitare il tasto
Forum - C# / VB.NET - Disabilitare il tasto "Chiudi" e "Alt"+"F4" - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Henry 128 (Member)
Pro


Messaggi: 61
Iscritto: 20/03/2008

Segnala al moderatore
Postato alle 14:40
Martedì, 10/02/2009
Però come si può bloccare il tasto chiudi spuntando una CheckBox e viceversa?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:33
Martedì, 10/02/2009
Basta usare un if.
Comunque ti avevo detto due volte come fare ad ignorare l'alt+f4...

PM Quote
Avatar
Henry 128 (Member)
Pro


Messaggi: 61
Iscritto: 20/03/2008

Segnala al moderatore
Postato alle 18:01
Martedì, 10/02/2009
Codice sorgente - presumibilmente VB.NET

  1. Private Const CP_NOCLOSE_BUTTON As Integer = &H200
  2.     Dim myCp As CreateParams = MyBase.CreateParams
  3.     Property CreateParams() As CreateParams
  4.         Get
  5.             Return myCp
  6.         End Get
  7.         Set(ByVal value As CreateParams)
  8.             If CheckBox1.Checked = True Then
  9.                 myCp.ClassStyle = value.ClassStyle Or CP_NOCLOSE_BUTTON
  10.             Else
  11.                 myCp.ClassStyle = 0
  12.             End If
  13.         End Set
  14.     End Property



Quando spunto la CheckBox non si modifica niente.

Ultima modifica effettuata da Henry 128 il 10/02/2009 alle 18:04
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:48
Mercoledì, 11/02/2009
Hai messo il codice in Set, mentre prima era in get. Inoltre, presuppongo che la proprietà, essendo modificata tramite polimorfismo e overloading, venga richiamata dalla routine di costruzione del form una sola volta all'inizializzazione e che, quindi, tu non possa modificarla una volta creato il form. Tuttavia è solo un'ipotesi...

PM Quote
Avatar
Henry 128 (Member)
Pro


Messaggi: 61
Iscritto: 20/03/2008

Segnala al moderatore
Postato alle 23:41
Giovedì, 12/02/2009
Ad esempio Me.Visible=True
Il visible è una proprietà però la si può modificare ad ogni momento.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:40
Venerdì, 13/02/2009
Ma è proprio questo che ipotizzavo! Ossia che quella proprietà venisse richiamata solo all'avvio del form. Se, infatti, si verificasse la mia previsione, la proprietà restituirebbe sempre un valore di CreateParams in cui il pulsante chiudi è disattivato. Mentre se usi il secondo codice (quello con Set), all'inizio la proprietà restituisce myCp, che è un CreateParams normale, e che, quindi, include il pulsante chiudi. Quando modifichi la proprietà con Set, ormai è tardi, perchè il form è già stato creato e inizializzato con la X attivata. E' proprio perchè la proprietà era definita Protected Overrides che mi è venuto questo dubbio.

PM Quote
Avatar
Henry 128 (Member)
Pro


Messaggi: 61
Iscritto: 20/03/2008

Segnala al moderatore
Postato alle 19:17
Venerdì, 13/02/2009
A ok adesso ho capito...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo