Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C#] Abilitare bottone di un altro Form

    Ciao, ho cominciato da qualche giorno a programmare in C#, arrivando da Visual Basic.

    Sto seguendo qualche guida su internet e mi sto trovando piuttosto bene. La cosa che non riesco a fare, anche dopo molte pagine web lette, è la modifica di un bottone (o qualsiasi altro oggetto) dal Form B al Form A.

    Mi spiego meglio: nel Form B ho un bottone, al momento disabilitato. Vorrei fare in modo che, cliccando su un bottone nel Form A, attivi il bottone nel Form B.

    Ho già messo nel bottone del Form A la proprietà "Modifier" in "Internal".

    Il codice che ho scritto per fare apparire la Form B nella Form A (Form1_Load) è:
    codice:
    Form2 formB = new Form2();
    form2.show();
    E nel bottone nella Form B ho scritto:
    codice:
    Form1 formA = new Form1();
    form1.button1.enabled = true;
    Ma non funziona. Se invece nella Form A ho il bottone già attivo, e questo bottone richiama la Form B e contemporaneamente attiva il bottone (nella Form B) con questo codice:
    codice:
    Form2 formB = new Form2();
    form2.button1.enabled = true;
    form2.show();
    funziona. Ma se volessi fare il contrario, a Form già aperto? Grazie mille a tutti!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Stai facendo confusione tra istanze di default e nuove istanze ...

    Per capirci, nel codice del Form1, puoi scrivere

    codice:
        public partial class Form1 : Form
        {
            private Form2 f;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                f = new Form2();
                f.Show();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                f.EnButt = true;
            }
        }
    e nel Form2

    codice:
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            public bool EnButt
            {
                get { return button1.Enabled; }
                set { button1.Enabled = value; }
            }
        }
    Dato che vieni dal VB, dovevi chiederti come l'avresti fatto in VB ... in C# non cambia molto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie mille, funziona!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Danilo25
    Grazie mille, funziona!
    Di nulla, ma cerca di comprenderne il semplice funzionamento e gli errori che facevi.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.