Frage

Das habe ich ..

Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)

FrmSettings ist ein Einstellungsformular, mit dem Sie die Farbe für den Hintergrund von Form1 (ME) auswählen können. Ich kann jedoch nicht auf die Form1 -Eigenschaften zugreifen, um den BackColor zu ändern.

War es hilfreich?

Lösung

Sie können jedoch einen Rückruf in dem aktuellen Formular abgeben, das das Einstellungsformular aufrufen kann, wenn die Eigenschaft geändert wird, die dies für Sie erledigt. Entschuldigung für das C#; Zu früh im AM, um VB zu schreiben. Sie müssen wahrscheinlich eine Schnittstelle haben, die den Satz von Methoden definiert, mit denen die Eigenschaften geändert und das Formular als Schnittstelle bestanden werden, sodass der Anrufer Zugriff auf die Methoden hat.

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

 public class MyForm : Form, IChangeableProperties
 {

     ...

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

Dann in Ihrem in den Einstellungen Formular

 private IChangeableProperties callingForm;

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

Und in Ihrem Event -Handler

 callingForm.ChangeBackgroundColor( selectedColor );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top