Come gestire una soluzione componente multilingue in Visual C#

Traduzione articoli Traduzione articoli
Identificativo articolo: 816175 - Visualizza i prodotti a cui si riferisce l?articolo.
Per la una versione di Microsoft Visual Basic .NET di questo articolo, vedere 317702.

Contenuto dell'attivitā


Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto come gestire una soluzione componente multilingue utilizzando Visual C# .NET o Visual C# 2005.

Informazioni

Requisiti

Nell'elenco seguente sono indicati hardware, software, infrastruttura di rete e i service pack necessari:
  • Uno dei seguenti sistemi operativi:
    • Microsoft Windows 2000 Professional (o server)
    • Microsoft Windows XP Professional con installato .NET Framework
    • Microsoft Windows Server 2003
  • Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
  • Microsoft SQL Server versione 7.0 o versione successiva con Northwind database.
In questo articolo si presume la conoscenza dei seguenti argomenti:
  • Ereditarietā dell'implementazione
  • Windows Form
  • ADO.NET
Back to the top

Gestire una soluzione componente multilingue

In questo articolo viene descritto come creare una soluzione che contiene i seguenti tre progetti:
  • Un'applicazione di Windows in Visual C# che utilizza i metodi nelle classi del progetto di due.
  • Un progetto di Visual Basic .NET o Visual Basic 2005 libreria che accede al database NorthWind e restituisce un oggetto DataSet.
  • Un progetto di libreria di classe di Visual C# che dispone di un metodo che accetta un ArrayList di oggetti stringa e restituisce una singola stringa viene concatenata utilizzando un'istanza della classe StringBuilder .
Per creare la shell di un Windows Form di Visual C# dell'applicazione in una soluzione, attenendosi alla procedura seguente:
  1. Fare clic su Start , scegliere programmi e quindi scegliere Microsoft Visual Studio .NET (per Visual Studio .NET 2002), Microsoft Visual Studio .NET 2003 (per Microsoft Visual Studio .NET 2003) o Microsoft Visual Studio 2005 (per Microsoft Visual Studio 2005).
  2. Fare clic su Microsoft Visual Studio .NET o Microsoft Visual Studio 2005 .
  3. Fare clic su Nuovo progetto e quindi su Progetti di Visual C#

    Nota In Visual Studio 2005, fare clic su C# .
  4. In modelli , fare clic su Applicazione Windows .
  5. Nel campo nome digitare HowToMultiComp e quindi fare clic su OK .
  6. Quando viene creato il progetto, assicurarsi che Esplora soluzioni č visibile. Se Esplora soluzioni non č visibile, č necessario premere CTRL + ALT + L.

    Ora č la shell di un'applicazione Windows Form di Visual C# in una soluzione denominata HowToMultiComp.
Per creare una soluzione componente multilingue, aggiungere una libreria di classi C# Visual e quindi aggiungere un Visual Basic .NET o di una libreria di classi Visual Basic 2005.

La libreria di classi Visual Basic deve essere aggiunto prima. Per aggiungere la libreria di classi Visual Basic, attenersi alla seguente procedura:
  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse soluzioni 'HowToMultiComp' , scegliere Aggiungi , quindi Nuovo progetto .
  2. Scegliere progetti di Visual Basic .

    Nota Nella finestra di Visual Studio 2005, fare clic su Visual Basic .
  3. Fare clic su Libreria di classi in modelli .
  4. Nella casella nome digitare NWClassLib e quindi fare clic su OK .

    Visual Basic .NET o libreria di classi Visual Basic 2005 viene aggiunto alla soluzione.

    Class1.vb ora č aperto l'editor finestra.
  5. Aggiungere due direttive Imports nella parte superiore ad accedere notazione abbreviata punto classi seguenti spazi dei nomi:
    Imports System.Data
    Imports System.Data.SqlClient
  6. Per creare e riempire un DataSet con i dati dalla tabella di prodotti di Northwind, aggiungere il metodo seguente a Class1 (potrebbe essere necessario modificare la stringa di connessione per il computer):
    Public Shared Function GetProducts() As DataSet
    	Dim ds As New DataSet()
    	Dim sqlDS As New SqlDataAdapter("select * from products", New SqlConnection("server=<network address of instance of SQL Server>;database=northwind;integrated security=sspi"))
    	sqlDS.Fill(ds)
    	return ds
    End Function
    
Creare la libreria di classi C# Visual. Per effettuare questa operazione, attenersi alla seguente procedura:
  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse soluzioni 'HowToMultiComp' , scegliere Aggiungi , quindi Nuovo progetto .
  2. Fare clic su progetti di Visual C# .

    Nota In Visual Studio 2005, fare clic su C# .
  3. Fare clic su Libreria di classi in modelli .
  4. Nella casella nome digitare SBClassLib e quindi fare clic su OK .

    Libreria di classi Visual di C# viene aggiunto alla soluzione.

    Class1.cs ora č aperta nella finestra dell'editor.
  5. Aggiungere le seguenti direttive using nella parte superiore dell'esempio di codice Class1.cs ad accedere notazione abbreviata punto le classi in spazio dei nomi System.Text e spazio dei nomi System.Collections :
    using System.Text;
    using System.Collections;
  6. Aggiungere il codice riportato di seguito nella classe pubblica Class1 , che utilizza un'istanza della classe StringBuilder per concatenare una singola stringa che č contenuta in un ArrayList :
    public static String BuildString(ArrayList arlStrings)
    {
    	StringBuilder sb = new StringBuilder();
    	
    	foreach(String s in arlStrings)
    	{
    			sb.Append(s);
    			sb.Append(", ");
    	}
    	return sb.ToString();
    }
Č ora possibile creare l'applicazione di Windows Form di Visual C# che utilizza questo componente. Applicazione di form per creare il Windows Visual C#, attenersi alla seguente procedura:
  1. Per aggiungere riferimenti a due componenti della libreria di classi, attenersi alla seguente procedura:
    1. In Esplora soluzioni fare clic con il pulsante destro del mouse su riferimenti in HowToMultiComp e quindi fare clic su Aggiungi riferimento .
    2. In progetti , premere e tenere premuto il tasto CTRL , fare clic su NWClassLib e quindi fare clic su SBClassLib .
    3. Entrambi i progetti selezionati, fare clic su Seleziona .
    4. Quando sono visualizzati entrambi i progetti nel selezionati componenti fare clic su OK .

      I progetti sono ora elencati in finestra di riferimenti per l'applicazione di finestra.
  2. Form1.cs č aperto in visualizzazione struttura. Se Form1.cs in non č giā aperto, fare doppio clic su Form1.cs , in Esplora soluzioni.
  3. Premere CTRL + ALT + X per aprire la casella degli strumenti e quindi fare clic su Windows Form .
  4. Trascinare un pulsante nel form e quindi premere F4 per accedere alla pagina proprietā per il pulsante.
  5. Consente di modificare l'impostazione della proprietā testo Mostra prodotti .
  6. Aggiungere un altro pulsante e quindi modificare il testo della proprietā in Stringa genera .
  7. Trascinare un controllo DataGrid sul form e quindi rilasciarlo sotto i pulsanti. Consente di ridimensionare il controllo DataGrid in modo che riempie l'area rimanente nel modulo.
  8. Fare doppio clic su Visualizza prodotti . Visual Studio .NET crea automaticamente un gestore eventi Click .
  9. Aggiungere il codice seguente il gestore dell'evento Click :
    dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
    il codice imposta la proprietā DataSource del DataGrid il DataSet che č stato restituito dal metodo GetProducts della libreria di classi.
  10. Per creare un gestore eventi Click secondo, fare doppio clic Genera stringa .
  11. Il codice riportato di seguito richiede il contenuto di ogni cella nella prima riga del DataGrid fino a 7 di cella e quindi aggiunge il contenuto a un ArrayList . L' ArrayList viene quindi passato al metodo SBClassLibrary , che restituisce una stringa che viene visualizzato in una funzione MessageBox . Un'istanza della classe non č necessaria, poiché il metodo č stato dichiarato in precedenza utilizzando la parola chiave static.

    Aggiungere il codice seguente al gestore dell'evento Click :
    ArrayList arl = new ArrayList();
    for(int i = 0; i <= 8; i++)
    	arl.Add(dataGrid1[0, i].ToString());
    MessageBox.Show(SBClassLib.Class1.BuildString(arl));
Back to the top

Elenco completo del codice

Completamento codice elenco (Class1.vb)

Imports System.Data
Imports System.Data.SqlClient

Public Class Class1
    Public Shared Function GetProducts() As DataSet
        Dim ds As New DataSet()
        Dim sqlDS As New SqlDataAdapter("select * from products", New SqlConnection("server=<network address of instance of SQL Server>;database=northwind;uid=sa"))
        sqlDS.Fill(ds)
        Return ds
    End Function
End Class
Back to the top

Completamento codice elenco (Class1.cs)

using System;
using System.Text;
using System.Collections;

namespace SBClassLib
{
	public class Class1
	{
		public Class1()
		{
			
		}

		public static String BuildString(ArrayList arlStrings)
		{
			StringBuilder sb = new StringBuilder();

			foreach(String s in arlStrings)
			{
				sb.Append(s);
				sb.Append(", ");
			}
			return sb.ToString();
		}
	}
}
Back to the top

Completamento codice elenco (Form1.cs)

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace HowToMultiComp
{
	
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button button1;
		private System.Windows.Forms.Button button2;
		private System.Windows.Forms.DataGrid dataGrid1;
		
		private System.ComponentModel.Container components = null;

		public Form1()
		{
			InitializeComponent();
		}

		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		private void InitializeComponent()
		{
			this.button1 = new System.Windows.Forms.Button();
			this.button2 = new System.Windows.Forms.Button();
			this.dataGrid1 = new System.Windows.Forms.DataGrid();
			((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
			this.SuspendLayout();
			// 
			// button1
			// 
			this.button1.Name = "button1";
			this.button1.Size = new System.Drawing.Size(104, 23);
			this.button1.TabIndex = 0;
			this.button1.Text = "Show Products";
			this.button1.Click += new System.EventHandler(this.button1_Click);
			// 
			// button2
			// 
			this.button2.Location = new System.Drawing.Point(136, 0);
			this.button2.Name = "button2";
			this.button2.Size = new System.Drawing.Size(96, 23);
			this.button2.TabIndex = 1;
			this.button2.Text = "Build String";
			this.button2.Click += new System.EventHandler(this.button2_Click);
			// 
			// dataGrid1
			// 
			this.dataGrid1.DataMember = "";
			this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
			this.dataGrid1.Location = new System.Drawing.Point(0, 24);
			this.dataGrid1.Name = "dataGrid1";
			this.dataGrid1.Size = new System.Drawing.Size(296, 256);
			this.dataGrid1.TabIndex = 2;
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(292, 273);
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.dataGrid1,
																		  this.button2,
																		  this.button1});
			this.Name = "Form1";
			this.Text = "Form1";
			((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
			this.ResumeLayout(false);

		}

		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		private void button1_Click(object sender, System.EventArgs e)
		{
			dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
		}

		private void button2_Click(object sender, System.EventArgs e)
		{
			ArrayList arl = new ArrayList();
			for(int i = 0; i <= 8; i++)
				arl.Add(dataGrid1[0, i].ToString());
			MessageBox.Show(SBClassLib.Class1.BuildString(arl));
		}
	}
}
Nota Il codice deve essere modificato in Visual Studio 2005. Quando si crea un progetto Windows Form, Visual C# aggiunge un form al progetto per impostazione predefinita. Questo modulo denominato Form1. I due file che rappresentano il form sono denominati Form1.cs e Form1.Designer.cs. Il codice scritto in Form1.cs. Il file di Sesigner.cs č Progettazione Windows Form scrive il codice che implementa tutte le azioni eseguite mediante l'aggiunta di controlli. Per ulteriori informazioni su Progettazione Windows Form in Visual C# 2005, visitare il sito di Web di Microsoft:
http://msdn2.microsoft.com/en-us/library/ms173077.aspx
Back to the top

Verifica del funzionamento

  1. Premere F5 per eseguire l'applicazione in modalitā di debug.
  2. Quando viene visualizzato il modulo, fare clic su Get prodotti .

    DataGrid Visualizza tutti i prodotti dalla tabella di prodotti di Northwind.
  3. Scegliere Genera stringa .

    Verrā visualizzata una finestra di messaggio che mostra il contenuto delle celle della prima riga, concatenato tramite la cella con un indice di 7 (in base zero).
  4. Premere MAIUSC + F5 per interrompere il debug e tornare a Visual Studio. NET.
Back to the top

Risoluzione dei problemi

Assicurarsi di non confondere la sintassi quando si lavora con due linguaggi. Visual C# č molto particolari, e i messaggi di errore non sono sempre come richiesta o intuitivo come come i messaggi di errore in Visual Basic .NET o in Viusal Basic 2005. Pertanto, č opportuno per il segnalibro "Language Equivalents" sezione di .NET Framework software development kit per risolvere questi problemi. Individuare l'argomento della Guida riportato di seguito nella Guida in linea di Microsoft:
MS:help://MS.VCC/MS.MSDNVS/vsintro7/HTML/vxgrfLanguageEquivalents.htm
Back to the top

Riferimenti

Per ulteriori informazioni, visitare il seguente sito Web MSDN:
Creazione di una soluzione Mutli-progetto
http://msdn2.microsoft.com/en-us/library/aa265251(VS.60).aspx
Back to the top

Proprietā

Identificativo articolo: 816175 - Ultima modifica: mercoledė 16 maggio 2007 - Revisione: 2.5
Le informazioni in questo articolo si applicano a:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Chiavi: 
kbmt kbhowtomaster kbinterop kbappdev kbhowto KB816175 KbMtit
Traduzione automatica articoli
Il presente articolo č stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non č sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pių o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non č la sua. Microsoft non č responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 816175
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com