Fonction dans C#

Bonjour à tous,

Voila mon problème : j'ai plusieurs textbox qui vont être des "input" pour mon problème. Une fois remplies, je voudrais cliquer sur un bouton qui va éxecuter mon code. Ce code a besoin de fonction toute bête :

public static Double fctf(double y,double V, double t)

{ return -C/m*y; }

par exemple, ou justement C et m sont présents dans certaines textbox. Problème, impossible de mettre cette fonction telle quelle dans

private void button1_Click(object sender, EventArgs e)
{
}
car il y a croisement de fonction ou je ne sais pas trop quoi.

Autre problème : ci je met ma fonction entre deux fonctions évenements, il ne reconnait pas les textbox dans "Double.Parse(textBox1.Text.Trim())".

Du coup je ne peux pas utiliser ma fonction,

quelqu'un aurait une idée ?

en vous remerciant par avance.

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Slt,

    Tu créer une fonction pour ton calcul :

    private double CalculPhysique (string C, string m, string y)
    {
           // ici tu mets ton traitement ce qui donne:
          //--------- Declaration des variables;
       double dC,dm,dy, dresult;
       
       //  traitement des données;
        dC = Double.Parse(C.Trim());  // repeter a l'identique pour les autre;
    
    dresult = (-dC/(m*y));
    
    return dresult;
    
    }
    


    Ensuite dans l'evenement de ton bouton tu fais
    private void button1_Click(object sender, EventArgs e) 
    { 
    textboxresultat.text = CalculPhysique(textboxX.text,etc);
    }
    
    1. Je n'ai pas bien compris ton problème mais voici un petit exemple qui fonctionne au cas où :

      using System; 
      using System.Windows.Forms; 
      
      namespace FunctionTest 
      { 
          public partial class Form1 : Form 
          { 
              public Form1() 
              { 
                  InitializeComponent(); 
              } 
      
              private void button1_Click(object sender, EventArgs e) 
              { 
                  // On récupère les valeurs des champs de texte 
                  double a = Double.Parse(textBox1.Text); 
                  double b = Double.Parse(textBox2.Text); 
                   
                  label1.Text = calculUn(a, b).ToString();    
                  // this.calculUn(a, b) 
                  
                  label2.Text = calculDeux(a, b).ToString();  
                  // Form1.calculDeux(a, b); 
              } 
      
              // Fonction d'objet 
              private double calculUn(double x, double y) 
              { 
                  return x * y; 
              } 
      
              // Fonction de classe 
              private static double calculDeux(double x, double y) 
              { 
                  return x + y; 
              } 
          } 
      } 
      

      "The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job." -- PDP8 handbook, Pg 9-64