OVH Cloud OVH Cloud

usercontrol

3 réponses
Avatar
Sylvain MALLEVAL
salut,

j'ai un usercontrol avec une liste
je voudrais que quand l'utilisateur supprime un élément de la liste, cela
déclenche un évènement avant la suppression.
Je récupére cet évènement dans lequel je vérifie si tout est ok, si ce n'est
pas le cas, je demande l'annulation de la suppression.

En fait, je sais faire des évènements. Mais je ne sais pas comment coder le
fait de pouvoir annuler un évènement (comme dans le closing des forms avec
le e.cancel=true)

Quelqu'un pourrait-il me dire comment ca marche

MErci

Sylvain

3 réponses

Avatar
Sylvain Barde
Timer1.Enabled = DesignMode = False

"Sylvain MALLEVAL" a écrit :

salut,

j'ai un usercontrol avec une liste
je voudrais que quand l'utilisateur supprime un élément de la liste, cela
déclenche un évènement avant la suppression.
Je récupére cet évènement dans lequel je vérifie si tout est ok, si ce n'est
pas le cas, je demande l'annulation de la suppression.

En fait, je sais faire des évènements. Mais je ne sais pas comment coder le
fait de pouvoir annuler un évènement (comme dans le closing des forms avec
le e.cancel=true)

Quelqu'un pourrait-il me dire comment ca marche

MErci

Sylvain





Avatar
Sylvain Barde
Ce n'esat pas la bonne réponse, erreur de mail

"Sylvain MALLEVAL" a écrit :

salut,

j'ai un usercontrol avec une liste
je voudrais que quand l'utilisateur supprime un élément de la liste, cela
déclenche un évènement avant la suppression.
Je récupére cet évènement dans lequel je vérifie si tout est ok, si ce n'est
pas le cas, je demande l'annulation de la suppression.

En fait, je sais faire des évènements. Mais je ne sais pas comment coder le
fait de pouvoir annuler un évènement (comme dans le closing des forms avec
le e.cancel=true)

Quelqu'un pourrait-il me dire comment ca marche

MErci

Sylvain





Avatar
Zoury
Salut Sylvain ! :O)

En fait, je sais faire des évènements. Mais je ne sais pas comment coder


le
fait de pouvoir annuler un évènement (comme dans le closing des forms avec
le e.cancel=true)



Voici un exemple (non testé) :
'***
' dans le UserControl
Public Event DeletingListItem As DeletingListItemEventHandler

' code généré quelque part ici...

Private Sub UserControl1_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

If ((e.KeyCode = Keys.Delete) AndAlso _
(Not ListBox1.SelectedItem Is Nothing)) Then

Dim args As New DeletingListItemEventArgs(False,
ListBox1.SelectedItem)
RaiseEvent DeletingListItem(Me, args)
If (args.Cancel) Then Exit Sub

' supprimer l'item ici .

End If

End Sub
'***
' classe d'événement
Public Delegate Sub DeletingListItemEventHandler(ByVal sender As Object,
ByVal e As DeletingListItemEventArgs)

Public Class DeletingListItemEventArgs
Inherits EventArgs

Private _bCancel As Boolean
Private _oItem As Object

Public Sub New(ByVal Cancel As Boolean, ByVal Item As Object)
_bCancel = Cancel
_oItem = Item
End Sub

Public Property Cancel() As Boolean
Get
Return _bCancel
End Get
Set(ByVal Value As Boolean)
_bCancel = False
End Set
End Property
Public ReadOnly Property Item() As Object
Get
Return _oItem
End Get
End Property

End Class
'***

--
Cordialement
Yanick
MVP pour Visual Basic