Récuperer dans un fichier Class.cs la valeur d'une TextBox contenu dans Form1
Bonjour,
je suis novice dans le dev et je venais de commencé un projet en vb lorsque mon patron ma proposé une formation en C#. J'ai décidé de refaire mon projet en c# mais je rencontre des difficulté à le convertir.
Pour récupérer la valeur une textbox dans un fichier class.vb j’utilisai pour exemple ( Form1.TextBox1.Text ), mais en C# cela ne fonctionne pas. En utilisant "Public static void" je parvient à appeler ma class dans la form1, mais l'inverse ne fonctionne pas.
J'ai essayer de déclarer ma textbox en "public static void" mais cela appel "textBox_Retention_TextChanged" en non "textBox_Retention".
Exemple code VB qui fonctionne bien:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| Public Class Class_Infobulle_Purge
Public Shared Function Infobulle_Retention_auto()
' Activation des messages infobulle dans la textebox
'===================================================
Dim infobulle = New ToolTip()
infobulle.IsBalloon = True
infobulle.OwnerDraw = True
infobulle.ForeColor = Color.Red
infobulle.ToolTipTitle = "Erreur de Saisie"
infobulle.ToolTipIcon = ToolTipIcon.Error
Dim texte_value_min As Integer = 1
Dim texte_value_max As Integer = 365
On Error GoTo ErrTextbox1
' Si la textBox est vide on ne vérifie rien
'===========================================
If (Form1.TextBox_Retention.Text = Nothing) Then
Exit Function
End If
'Récupération et conversion de la largeur dans une variabler
'==========================================================
Dim texte_value As Integer
texte_value = CInt(Form1.TextBox_Retention.Text)
'Vérification de la valeur minimum et maximum entrée dans la textBox, Si la valeur saisie n'est pas correcte
'on affiche un Message d'erreur et on vide la textBox
'============================================================================================================
If (texte_value > texte_value_max) Then
infobulle.Show("Le Maximum de jours autorisé est de 365/J", Form1.TextBox_Retention, 0, -75, 3000)
Form1.TextBox_Retention.Text = Nothing
End If
If (texte_value < texte_value_min) Then
infobulle.Show("Votre Saisi 0 Jour est Interdite, Veuillez Séléctionner une Valeur de 1 à 465/J", Form1.TextBox_Retention, 0, -75, 3000)
Form1.TextBox_Retention.Text = Nothing
End If
Exit Function
'Message d'erreur
ErrTextbox1:
infobulle.Show("Veuillez Saisir Uniquement une Valeur Numérique pour la Période de Rétention", Form1.TextBox_Retention, 0, -75, 3000)
Form1.TextBox_Retention.Text = Nothing
End Function |
Exemple de code en C# qui ne parvient par à récupérer les valeur des ma textbox:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| using System;
using System.Drawing;
using System.Windows.Forms;
namespace Purge
{
class Class_infobulle
{
public static void test()
{
//Activation des messages infobulle dans la textebox
//===================================================
var infobulle = new ToolTip();
infobulle.IsBalloon = true;
infobulle.OwnerDraw = true;
infobulle.ForeColor = Color.Red;
infobulle.ToolTipTitle = "Erreur de Saisie";
infobulle.ToolTipIcon = ToolTipIcon.Error;
int texte_value_min = 1;
int texte_value_max = 365;
try
{
// Si la textBox est vide on ne vérifie rien
//===========================================
if (string.IsNullOrEmpty(Form1.textBox_Retention.Text)) //ERREUR
{ return; }
//Récupération et conversion de la largeur dans une variable
//==========================================================
int texte_value;
texte_value = Convert.ToInt32(Form1.textBox_Retention.Text); //ERREUR |
En VB.net mes class communique avec les objet de la form1, mais pas en C#.
Quelqu'un pourrait m'aider à comprendre d’où peut venir mon erreur.
Merci