Question

est ce que j'ai ..

Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)

frmSettings est un formulaire de paramétrage que vous pouvez choisir la couleur de fond de form1 (Me). Mais je ne peux pas accéder aux propriétés de changer le Form1 backcolor.

Était-ce utile?

La solution

Vous pouvez cependant fournir un rappel sous la forme actuelle que le formulaire pourrait appeler les paramètres lorsque la propriété change qui le faire pour vous. Désolé pour le C #; trop tôt le matin pour moi d'écrire VB. Vous auriez probablement besoin d'avoir une interface qui définit l'ensemble des méthodes utilisées pour modifier les propriétés et passez le formulaire comme l'interface de telle sorte que l'appelant a accès aux méthodes.

 public interface IChangeableProperties
 {
      void ChangeBackgroundColor( Color newColor );
      ...
 }

 public class MyForm : Form, IChangeableProperties
 {

     ...

     public void ChangeBackgroundColor( Color newColor )
     {
        ...
     }
 }

Ensuite, dans votre sous forme de paramètres

 private IChangeableProperties callingForm;

 public void ShowDialog( IChangeableProperties caller )
 {
      callingForm = caller;
      ...
 }

et dans votre gestionnaire d'événements

 callingForm.ChangeBackgroundColor( selectedColor );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top