jeudi 13 juin 2013

Obtenir à des valeurs sur d'autres formes

Le formulaire avec des boutons OK et Annuler sur elle ne fait pas beaucoup de bien. Nous en avons besoin faire un peu de travail pour nous. Tournons la forme dans une boîte de dialogue Modifier la casse.
Créer un formulaire comme celui dans l'image ci-dessous (ceci est frmSecond):

Lorsque vous avez créé votre formulaire, cliquez sur Retour sur Form1 et ajoutez une zone de texte à lui. Lorsque le bouton sur Form1 est cliqué, la boîte de dialogue ci-dessus s'affiche. Vous pouvez ensuite sélectionner le bouton d'option pour changer la casse en majuscules, Basse ou correcte. Cela se produira lorsque le bouton OK est cliqué. Quel que soit le texte est en Texbox1 sur Form1 seront modifiés en conséquence.
Double-cliquez sur le bouton OK frmSecond pour accéder au code. Vous devez disposer des éléments suivants:
Me.DialogResult = DialogResult.OK
Si vous voulez faire référence à Texbox1 sur Form1, vous ne pouvez pas faire ceci:
Form1.Textbox1.Text
Dans la version précédente de VB, ce code serait bien. Vous dites "Accéder à la propriété Text du Textbox1 sur Form1." Le problème en VB.NET est que les formes sont classes. Ils ne deviennent pas des objets jusqu'à ce que l'un est créé à partir d'une classe. Ainsi, la classe de frmSecond ne sait rien sur Form1. Il n'a aucune idée de ce que c'est.
La solution est de créer une variable objet de zone de texte sur Form1 et affectez Textbox1 à cette variable. Mais cette variable doit être quelque chose que toutes les classes du projet peuvent voir.
Alors ajouter ce près du haut de votre fenêtre de code pour Form1 (ajouter juste en dessous de la ligne System.Windows.Forms.Form Inherits ou Class publique Form1):
Public tb Partagé en tant que zone de texte
Nous mettons en place une variable que nous avons appelé la tuberculose. Un objet de la zone de texte va être stockée dans cette variable. Mais notez que la variable est Shared. De cette façon, frmSecond sera en mesure de voir la variable.
Dans le cas Form Load pour Form1, ajoutez la ligne suivante:
TB = Textbox1
Lorsque Form1 se charge, le champ appelé Textbox1 seront affectés à la variable de la tuberculose. Maintenant Textbox1 peut être vu par frmSecond.
Retournez à votre code pour le bouton OK sur frmSecond. Ajoutez les deux lignes suivantes en haut:
ChangeCase Dim As String
ChangeCase = Form1.tb.Text
Nous mettons en place une variable String appelé changeCase. Quel que soit le texte est en Textbox1 de Form1 sera ensuite affectée à la variable de changeCase. Mais remarquez que dès que vous tapez un point après Form1, la variable de la tuberculose sera disponible dans la liste pop up:
Le public appelé tb variable contient une référence à Textbox1 sur Form1. Lorsque vous tapez un point après la tb, vous obtenez une liste popping up. La liste est l'ensemble des propriétés et des méthodes qui sont disponibles pour Textbox1. L'un d'eux est la propriété Text.
Nous ne devons maintenant ajouter le code qui s'occupe de la conversion réelle. Alors ajouter cet dessous des deux lignes que vous avez déjà:
ChangeCase Dim As String
ChangeCase = Form1.tb.Text
Si optUpper.Checked ensuite
ChangeCase = ChangeCase.ToUpper
ElseIf optLower.Checked ensuite
ChangeCase = ChangeCase.ToLower
ElseIf optProper.Checked ensuite
ChangeCase = StrConv (changeCase, VbStrConv.ProperCase)
End If
Form1.tb.Text = changeCase
Les trois boutons d'options sur notre formulaire ont été appelés optUpper, optLower et optProper. Dans le code, nous utilisons une instruction if pour voir qui d'entre eux était sélectionné. Celui qui a été choisi aura son jeu de propriété Checked pour vrai. Nous stockons ensuite dans la variable changeCase le texte converti à partir de la zone de texte. La dernière ligne met le texte reconverti en Textbox1 sur Form1. Mais vous codez fenêtre devrait ressembler à ceci:
Changer le code de cas
Notez que la ligne DialogResult.OK est la dernière ligne de code. Lorsque vous écrivez votre code, assurez-vous que optUpper, optLower et optProper sont modifiées à tout ce que vous avez appelé vos boutons radio.
Lorsque vous avez fini d'ajouter le code, exécutez votre programme. Entrez du texte dans Textbox1. Puis cliquez sur le bouton qui ouvre la boîte de dialogue Modifier la casse. Sélectionnez une option parmi les trois disponibles, et le clic sur OK. Le texte en Textbox1 doit être converti.
Définition et obtention de la valeur d'une forme à une autre peut être un processus assez compliqué au début. Mais une fois que vous obtenez le coup de lui, vous verrez qu'il n'est pas trop difficile.
Et qui se termine cette section de ce cours. Il ya énormément à apprendre sur Windows Forms, et un peu d'expérimentation est nécessaire avant que vous devenez qualifiés dans leur utilisation. Mais dans un cours pour débutants, vous avez appris assez pour se passer avec.

0 commentaires:

Enregistrer un commentaire