Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Aprire nuovo form premendo un pulsante (C#)
Forum - C# / VB.NET - Aprire nuovo form premendo un pulsante (C#)

Avatar
xLuk3x (Normal User)
Rookie


Messaggi: 38
Iscritto: 12/06/2008

Segnala al moderatore
Postato alle 17:35
Lunedì, 14/07/2008
Allora, io mi ritrovo a sviluppare un programma chiamato in gergo rubrica.
Quando premo il pulsante "nuovo" vorrei che si aprisse il form2 (e se premo "about" il form3).

Però, se nel blocco di codice dedicato al pulsante io scrivo

Codice sorgente - presumibilmente C# / VB.NET

  1. Form form2 = new form();
  2. form2.Show(); //o anche form2.showdialog();



Quando premo il pulsante mi appare si un form2, ma vuoto, e che non centra niente col form2 da me progettato.

Di seguito i sorgente:

FORM1 (il form principale)

Codice sorgente - presumibilmente C++

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace Amissione_pierotofy.it
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         public Form1()
  14.         {
  15.             InitializeComponent();
  16.         }
  17.  
  18.         private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
  19.         {
  20.  
  21.         }
  22.  
  23.         private void Form1_Load(object sender, EventArgs e)
  24.         {
  25.  
  26.         }
  27.  
  28.         private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
  29.         {
  30.  
  31.         }
  32.  
  33.         private void toolStripButton1_Click(object sender, EventArgs e)
  34.         {
  35.  
  36.         }
  37.  
  38.         private void toolStripButton5_Click(object sender, EventArgs e)
  39.         {
  40.            
  41.         }
  42.     }
  43. }



FORM2 (nuovo contatto):
Codice sorgente - presumibilmente C++

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace Amissione_pierotofy.it
  10. {
  11.     public partial class Form2 : Form
  12.     {
  13.         public Form2()
  14.         {
  15.             InitializeComponent();
  16.         }
  17.  
  18.         private void Form2_Load(object sender, EventArgs e)
  19.         {
  20.            
  21.         }
  22.  
  23.         private void button2_Click(object sender, EventArgs e)
  24.         {
  25.            
  26.         }
  27.     }
  28. }



FORM3 (about):
Codice sorgente - presumibilmente C++

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace Amissione_pierotofy.it
  10. {
  11.     public partial class About : Form
  12.     {
  13.         public About()
  14.         {
  15.             InitializeComponent();
  16.         }
  17.  
  18.         private void About_Load(object sender, EventArgs e)
  19.         {
  20.  
  21.         }
  22.     }
  23. }



Qui di seguito il progetto completo (fatemi il favore di non usarlo voi, lo sto preparando per una possibile ammissione)


xLuk3x ha allegato un file: Programma.zip (425286 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 19:16
Lunedì, 14/07/2008
Scusa, ma perché quando visualizzi il form2 fai
Codice sorgente - presumibilmente C# / VB.NET

  1. Form form2 = new Form();


:-?

E' ovvio che ti viene mostrato un form vuoto, con la new crei una nuova istanza di una classe Form, non form2.

Se vuoi usare form2 fai


Codice sorgente - presumibilmente C# / VB.NET

  1. Form2 formTwo = new Form2();
  2. formTwo.Show();



io l'ho provato e funziona:k:

PM Quote
Avatar
ProgrMan93 (Ex-Member)
Pro


Messaggi: 68
Iscritto: 25/06/2008

Segnala al moderatore
Postato alle 19:32
Lunedì, 14/07/2008
Allora prima devi aggiungere un form al progetto (se usi visual studio lo trovi nel menù progetto aggiungi windows form) questo form verrà chiamato form2. Poi scrivi:
form2 form2 = new form2;
Nell'Evento del pulsante scrivi
form2.ShowDialog;
Una volta fatto questo ti apparirà il form con quello che ci hai messo

PM Quote