Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    213

    c#-problema con cambiamento titolo di un form

    Sto realizzando un'applicazione in c# con visual studio dove da un form premendo un pulsante ne apro un'altro.In questo secondo form ho una textbox che all'evento text_changed mi dovrebbe cambiare il titolo del primo form.Ho provato così ma non funziona,il titolo del primo form non viene cambiato:
    codice:
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    Form1 f1 = new Form1();
    f1.Text = textBox1.Text;
    
    }
    Il codice è inserito nel secondo form.Come posso fare?Leggendo ho trovato che bisogna invalidare e ridisegnare il form.Ma non so come si fà.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Ma scusa hai letto quello che ti era stato detto nell'altro thread???


    Comunque sia un metodo per fare ciò che hai chiesto potrebbe essere questo:

    -aggiungi una classe al progetto di nome SharedForm

    codice:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace WindowsFormsApplication1
    {
        public class SharedForm
        {
            public static Form1 myForm;
        }   
    }
    modifichi la classe Program in questo modo:

    codice:
     static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                // Application.Run(new Form1());
                SharedForm.myForm = new Form1();
                Application.Run(SharedForm.myForm);
    
            }
    aggiungi il codice necessario per far partire la Form2 dalla Form1:

    codice:
     public Form1()
            {
                InitializeComponent();
               
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
               Form2 f = new Form2();
               f.Text = "Prova";
               f.ShowDialog(); 
               f.Dispose();
               f= null;          
            }
    e nell'evento TextChanged della textBox dalla Form2:

    codice:
     public Form2()
            {
                InitializeComponent();
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                SharedForm.myForm.Text = textBox1 .Text ;
            }
    Dovrebbe funzionare correttamente.
    Sbagliare è umano, perseverare è diabolico.

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.