Ma question est peut être triviale, mais bon : Est-ce qu'une fenêtre
peut renvoyer une valeur ou un objet qlcq en se comportant comme une
fonction ? Ce qui permettrait d'écrire un code dans le genre :
ObjetType obj = new ObjetType();
obj = FenetreAppellee(int a, string str, int rang)
Dans ma fenêtre appelée, je fais tout un tas de calculs et en cliquant
Ok je renvoie quelque chose !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Digging!
Si tu veux qu'une fenêtre agisse comme une fonction, le mieux est de créer une fonction qui s'occupe de d'afficher la fenêtre et de retourner son résultat.
On appelle ça une boîte de dialogue. :O)
Voici un exemple que j'avais en VB6.. le fonctionnement reste le même .NET. http://groups.google.com/groups?selm=O3w9Ws5rDHA.3492%40TK2MSFTNGP11.phx.gbl
-- Cordialement Yanick MVP pour Visual Basic "digging" a écrit dans le message de news:
Ma question est peut être triviale, mais bon : Est-ce qu'une fenêtre peut renvoyer une valeur ou un objet qlcq en se comportant comme une fonction ? Ce qui permettrait d'écrire un code dans le genre : ObjetType obj = new ObjetType(); obj = FenetreAppellee(int a, string str, int rang) Dans ma fenêtre appelée, je fais tout un tas de calculs et en cliquant Ok je renvoie quelque chose !
-- - concepteur ensemblier -
Salut Digging!
Si tu veux qu'une fenêtre agisse comme une fonction, le mieux est de créer
une fonction qui s'occupe de d'afficher la fenêtre et de retourner son
résultat.
On appelle ça une boîte de dialogue. :O)
Voici un exemple que j'avais en VB6.. le fonctionnement reste le même .NET.
http://groups.google.com/groups?selm=O3w9Ws5rDHA.3492%40TK2MSFTNGP11.phx.gbl
--
Cordialement
Yanick
MVP pour Visual Basic
"digging" <digging@nospam.fr> a écrit dans le message de
news:mn.33f57d5170e750fc.20812@nospam.fr...
Ma question est peut être triviale, mais bon : Est-ce qu'une fenêtre
peut renvoyer une valeur ou un objet qlcq en se comportant comme une
fonction ? Ce qui permettrait d'écrire un code dans le genre :
ObjetType obj = new ObjetType();
obj = FenetreAppellee(int a, string str, int rang)
Dans ma fenêtre appelée, je fais tout un tas de calculs et en cliquant
Ok je renvoie quelque chose !
Si tu veux qu'une fenêtre agisse comme une fonction, le mieux est de créer une fonction qui s'occupe de d'afficher la fenêtre et de retourner son résultat.
On appelle ça une boîte de dialogue. :O)
Voici un exemple que j'avais en VB6.. le fonctionnement reste le même .NET. http://groups.google.com/groups?selm=O3w9Ws5rDHA.3492%40TK2MSFTNGP11.phx.gbl
-- Cordialement Yanick MVP pour Visual Basic "digging" a écrit dans le message de news:
Ma question est peut être triviale, mais bon : Est-ce qu'une fenêtre peut renvoyer une valeur ou un objet qlcq en se comportant comme une fonction ? Ce qui permettrait d'écrire un code dans le genre : ObjetType obj = new ObjetType(); obj = FenetreAppellee(int a, string str, int rang) Dans ma fenêtre appelée, je fais tout un tas de calculs et en cliquant Ok je renvoie quelque chose !
-- - concepteur ensemblier -
Julien
1. Tu crée une classe qui hérite de Form. 2. Tu crée des propriétés pour a,str,et rang 3. Tu crée une propriété Result pour le résultat de ton calcul, qui utilise a,str et rang 4. Tu crée des contrôles dans ton Form qui permettent de modifier a,str, et rang 5. Tu ajoutes des boutons ok et annuler à ton Form, en initialisant leur propriété DialogResult à DialogResult.OK et DialogResult.Cancel. 5. Tu appele ShowDialog() sur ton Form 6. ShowDialog retourne sun DialogResult correspondant au bouton appuyé. 7. Si le résultat est DialogResult.OK, ton calcul est dans la propriété Result.
Tu peux aussi ajouter une méthode statique à ton Form, qui te renvoie directement une valeur, après avoir lancé le formulaire (une fois les étapes précédentes accompiles): public class MyForm : Form { /* ... Les étapes 1 à 7 */
// Tu peux remplacer object par le type de la valeur de ton calcul public static object CalculerValeur() { MyForm m = new MyForm(); DialogResult dr = m.ShowDialog(); if (dr == DialogResult.OK) // l'utilisateur à validé return m.Result; // on renvoie la valeur calculée else return null; // si le type retour est un type de base, tu ne peux pas mettre null. // tu peux alors déclencher une exception à la place, ou renvoyer // une valeur non utilisée } }
Voila, j'espère avoir répondu à ta question.
"digging" a écrit :
Ma question est peut être triviale, mais bon : Est-ce qu'une fenêtre peut renvoyer une valeur ou un objet qlcq en se comportant comme une fonction ? Ce qui permettrait d'écrire un code dans le genre : ObjetType obj = new ObjetType(); obj = FenetreAppellee(int a, string str, int rang) Dans ma fenêtre appelée, je fais tout un tas de calculs et en cliquant Ok je renvoie quelque chose !
-- - concepteur ensemblier -
1. Tu crée une classe qui hérite de Form.
2. Tu crée des propriétés pour a,str,et rang
3. Tu crée une propriété Result pour le résultat de ton calcul, qui
utilise a,str et rang
4. Tu crée des contrôles dans ton Form qui permettent de modifier a,str,
et rang
5. Tu ajoutes des boutons ok et annuler à ton Form, en initialisant leur
propriété DialogResult à DialogResult.OK et DialogResult.Cancel.
5. Tu appele ShowDialog() sur ton Form
6. ShowDialog retourne sun DialogResult correspondant au bouton appuyé.
7. Si le résultat est DialogResult.OK, ton calcul est dans la propriété
Result.
Tu peux aussi ajouter une méthode statique à ton Form, qui te renvoie
directement une valeur, après avoir lancé le formulaire (une fois les étapes
précédentes accompiles):
public class MyForm : Form
{
/* ...
Les étapes 1 à 7
*/
// Tu peux remplacer object par le type de la valeur de ton calcul
public static object CalculerValeur()
{
MyForm m = new MyForm();
DialogResult dr = m.ShowDialog();
if (dr == DialogResult.OK) // l'utilisateur à validé
return m.Result; // on renvoie la valeur calculée
else
return null; // si le type retour est un type de base, tu ne peux
pas mettre null.
// tu peux alors déclencher une exception à la
place, ou renvoyer
// une valeur non utilisée
}
}
Voila, j'espère avoir répondu à ta question.
"digging" a écrit :
Ma question est peut être triviale, mais bon : Est-ce qu'une fenêtre
peut renvoyer une valeur ou un objet qlcq en se comportant comme une
fonction ? Ce qui permettrait d'écrire un code dans le genre :
ObjetType obj = new ObjetType();
obj = FenetreAppellee(int a, string str, int rang)
Dans ma fenêtre appelée, je fais tout un tas de calculs et en cliquant
Ok je renvoie quelque chose !
1. Tu crée une classe qui hérite de Form. 2. Tu crée des propriétés pour a,str,et rang 3. Tu crée une propriété Result pour le résultat de ton calcul, qui utilise a,str et rang 4. Tu crée des contrôles dans ton Form qui permettent de modifier a,str, et rang 5. Tu ajoutes des boutons ok et annuler à ton Form, en initialisant leur propriété DialogResult à DialogResult.OK et DialogResult.Cancel. 5. Tu appele ShowDialog() sur ton Form 6. ShowDialog retourne sun DialogResult correspondant au bouton appuyé. 7. Si le résultat est DialogResult.OK, ton calcul est dans la propriété Result.
Tu peux aussi ajouter une méthode statique à ton Form, qui te renvoie directement une valeur, après avoir lancé le formulaire (une fois les étapes précédentes accompiles): public class MyForm : Form { /* ... Les étapes 1 à 7 */
// Tu peux remplacer object par le type de la valeur de ton calcul public static object CalculerValeur() { MyForm m = new MyForm(); DialogResult dr = m.ShowDialog(); if (dr == DialogResult.OK) // l'utilisateur à validé return m.Result; // on renvoie la valeur calculée else return null; // si le type retour est un type de base, tu ne peux pas mettre null. // tu peux alors déclencher une exception à la place, ou renvoyer // une valeur non utilisée } }
Voila, j'espère avoir répondu à ta question.
"digging" a écrit :
Ma question est peut être triviale, mais bon : Est-ce qu'une fenêtre peut renvoyer une valeur ou un objet qlcq en se comportant comme une fonction ? Ce qui permettrait d'écrire un code dans le genre : ObjetType obj = new ObjetType(); obj = FenetreAppellee(int a, string str, int rang) Dans ma fenêtre appelée, je fais tout un tas de calculs et en cliquant Ok je renvoie quelque chose !
Autre façon de voir les choses : envoyer à la fenêtre un objet qu'elle mettra à jour.
AFer92
"digging" a écrit dans le message de news:
Merçi pour toutes ces réponses.
-- - concepteur ensemblier -
digging
André Fereau avait énoncé :
Autre façon de voir les choses : envoyer à la fenêtre un objet qu'elle mettra à jour.
AFer92
"digging" a écrit dans le message de news:
Merçi pour toutes ces réponses.
-- - concepteur ensemblier -
C'est ce j'ai fini par comprendre ! Des objets, rien que des objets. En fait cela fait parti des réponses canoniques que le forum devrait tenir à disposition des débutants en CSharp. Dès qu'on a compris que CSharp et ses cousins ne comprennent que des objets, on ne cherche plus à imposer à une Forms une chaine ou autre variable. Ca paraît évident, mais cela ne l'est pas du tout ! On a du pal à ns défaire de la logique procédurale. C'est bon, j'ai compris !
-- - concepteur ensemblier -
André Fereau avait énoncé :
Autre façon de voir les choses : envoyer à la fenêtre un objet qu'elle
mettra à jour.
AFer92
"digging" <digging@nospam.fr> a écrit dans le message de news:
mn.43607d51e70918e2.20812@nospam.fr...
Merçi pour toutes ces réponses.
--
- concepteur ensemblier -
C'est ce j'ai fini par comprendre ! Des objets, rien que des objets.
En fait cela fait parti des réponses canoniques que le forum devrait
tenir à disposition des débutants en CSharp. Dès qu'on a compris que
CSharp et ses cousins ne comprennent que des objets, on ne cherche plus
à imposer à une Forms une chaine ou autre variable. Ca paraît évident,
mais cela ne l'est pas du tout ! On a du pal à ns défaire de la logique
procédurale.
C'est bon, j'ai compris !
Autre façon de voir les choses : envoyer à la fenêtre un objet qu'elle mettra à jour.
AFer92
"digging" a écrit dans le message de news:
Merçi pour toutes ces réponses.
-- - concepteur ensemblier -
C'est ce j'ai fini par comprendre ! Des objets, rien que des objets. En fait cela fait parti des réponses canoniques que le forum devrait tenir à disposition des débutants en CSharp. Dès qu'on a compris que CSharp et ses cousins ne comprennent que des objets, on ne cherche plus à imposer à une Forms une chaine ou autre variable. Ca paraît évident, mais cela ne l'est pas du tout ! On a du pal à ns défaire de la logique procédurale. C'est bon, j'ai compris !