OVH Cloud OVH Cloud

Conversion Delphi --> C#

4 réponses
Avatar
Cyber Sinh
Bonjour,
Quelqu'un pourrait-il m'indiquer quel est l'équivalent C# de ce petit
bout de code Delphi ?

if TCheckbox(Sender).Checked then
ListBox.Items.Add(TCheckbox(Sender).Caption)
else
ListBox.Items.Delete(ListBoxAutoTag.Items.IndexOf(TCheckbox(Sender).Caption));

Merci

4 réponses

Avatar
Mitsuru FURUTA [Ms]
Quelque chose comme:

if (((CheckBox) sender).Checked)
ListBox1.Items.Add(((CheckBox) sender).Text);
else
ListBox1.Items.Delete(ListBoxAutoTag.Items.IndexOf(((CheckBox)
sender).Caption));

Bonne continuation,

Mitsuru FURUTA [Microsoft FRANCE]

"Cyber Sinh" wrote in message
news:41c58afb$0$28574$
Bonjour,
Quelqu'un pourrait-il m'indiquer quel est l'équivalent C# de ce petit
bout de code Delphi ?

if TCheckbox(Sender).Checked then
ListBox.Items.Add(TCheckbox(Sender).Caption)
else



ListBox.Items.Delete(ListBoxAutoTag.Items.IndexOf(TCheckbox(Sender).Caption)
);

Merci


Avatar
Cyber Sinh
Mitsuru FURUTA [Ms] a écrit :
Quelque chose comme:

if (((CheckBox) sender).Checked)
ListBox1.Items.Add(((CheckBox) sender).Text);
else
ListBox1.Items.Delete(ListBoxAutoTag.Items.IndexOf(((CheckBox)
sender).Caption));

Bonne continuation,

Mitsuru FURUTA [Microsoft FRANCE]

"Cyber Sinh" wrote in message
news:41c58afb$0$28574$

Bonjour,
Quelqu'un pourrait-il m'indiquer quel est l'équivalent C# de ce petit
bout de code Delphi ?

if TCheckbox(Sender).Checked then
ListBox.Items.Add(TCheckbox(Sender).Caption)
else




ListBox.Items.Delete(ListBoxAutoTag.Items.IndexOf(TCheckbox(Sender).Caption)
);

Merci







Je doute que ce code compile...
Sender est un "object" renvoyé lors de l'événement "click" du CheckBox.
Comment l'utiliser pour atteindre les propriétés du CheckBox cliqué... ?

Merci
Avatar
Mitsuru FURUTA [Ms]
Bonjour,

"Sender est un "object" renvoyé lors de l'événement "click" du CheckBox."

Oui, tout à fait, sender passe la référence de l'objet qui a déclenché
l'évènement, donc le CheckBox en l'occurence.
donc sender, c'est le CheckBox. Il suffit juste de le caster pour avoir
accès à ses propriétés.
C'est d'ailleurs le exactement le même mécanisme de délégation de code que
l'on a en Delphi.

Qu'est-ce qui vous trouble ?

Mitsuru FURUTA [Microsoft FRANCE]

"Cyber Sinh" wrote in message
news:41c7367f$0$30589$
Mitsuru FURUTA [Ms] a écrit :
> Quelque chose comme:
>
> if (((CheckBox) sender).Checked)
> ListBox1.Items.Add(((CheckBox) sender).Text);
> else
> ListBox1.Items.Delete(ListBoxAutoTag.Items.IndexOf(((CheckBox)
> sender).Caption));
>
> Bonne continuation,
>
> Mitsuru FURUTA [Microsoft FRANCE]
>
> "Cyber Sinh" wrote in message
> news:41c58afb$0$28574$
>
>>Bonjour,
>>Quelqu'un pourrait-il m'indiquer quel est l'équivalent C# de ce petit
>>bout de code Delphi ?
>>
>>if TCheckbox(Sender).Checked then
>>ListBox.Items.Add(TCheckbox(Sender).Caption)
>>else
>>
>
>


ListBox.Items.Delete(ListBoxAutoTag.Items.IndexOf(TCheckbox(Sender).Caption)
> );
>
>>Merci
>
>
>
Je doute que ce code compile...
Sender est un "object" renvoyé lors de l'événement "click" du CheckBox.
Comment l'utiliser pour atteindre les propriétés du CheckBox cliqué... ?

Merci


Avatar
Cyber Sinh
Effectivement, ça marche...

Je m'attendais à me battre avec les fonctionnalités de réflexion mais
ce n'est effectivement pas la peine.
De plus, j'avais oublié d'encadrer "(CheckBox)sender" de parenthèses,
donc je n'avais pas les proriétés d'un CheckBox avec l'intellisense...
Pourquoi faire compliquer quand on peut faire simple... :-)

Merci beaucoup de ton aide précieuse, Mitsuru


Voici le code final pour ceux qui se posait la meme question que moi:

if (((CheckBox)sender).Checked)
listFile.Items.Add(((CheckBox)sender).Text);
else listFile.Items.Remove(((CheckBox)sender).Text);

@+