Comment faire pour gérer une solution de composant multilingues dans Visual C#

Traductions disponibles Traductions disponibles
Numéro d'article: 816175 - Voir les produits auxquels s'applique cet article
Pour une version de Microsoft Visual Basic .NET de cet article, voir 317702.

DE CETTE TÂCHE


Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article explique comment gérer une solution de composant multilingue à l'aide Visual C# .NET ou Visual C# 2005.

Plus d'informations

Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs sont requis :
  • Un des systèmes d'exploitation suivants :
    • Microsoft Windows 2000 Professionnel (ou Server)
    • Microsoft Windows XP Professionnel avec le .NET Framework est installé
    • Microsoft Windows Server 2003
  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
  • Microsoft SQL Server version 7.0 ou version ultérieure avec les Comptoirs base de données.
Cet article suppose que vous êtes familiarisé avec les sujets suivants :
  • Héritage d'implémentation
  • Windows Forms
  • ADO.NET
Back to the top

Gérer une solution de composant multilingue

Cet article décrit comment créer une solution qui contient les trois projets suivants :
  • Une application de Visual C# Windows qui utilise les méthodes dans les autres classes de deux projets.
  • Un projet Visual Basic .NET ou Visual Basic 2005 bibliothèque qui accède à la base de données NorthWind et renvoie un DataSet.
  • Un projet de bibliothèque de classes Visual C# qui comporte une méthode qui accepte une liste de tableaux de chaîne objets et renvoie une chaîne unique est concaténée à l'aide d'une instance de la classe StringBuilder .
Pour créer l'environnement d'un Visual C# Windows Forms application dans une solution, procédez comme suit :
  1. Cliquez sur Démarrer , pointez sur programmes et pointez sur Visual Studio .NET (pour Visual Studio .NET 2002), Visual Studio .NET 2003 (pour Microsoft Visual Studio .NET 2003) ou Visual Studio 2005 (pour Microsoft Visual Studio 2005).
  2. Cliquez sur Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005 .
  3. Cliquez sur Nouveau projet , puis cliquez sur projets Visual C#

    note Dans Visual Studio 2005, cliquez sur Visual C# .
  4. Sous modèles , cliquez sur application Windows .
  5. Dans le champ Nom , tapez HowToMultiComp et puis cliquez sur OK .
  6. Lorsque le projet est créé, assurez-vous que l'Explorateur de solutions est visible. Si l'Explorateur de solutions n'est pas visible, appuyez sur CTRL + ALT + L.

    Vous disposez maintenant l'environnement d'une application Windows Forms de Visual C# dans une solution appelée HowToMultiComp.
Pour créer une solution multilingue composant, ajouter une bibliothèque de classes Visual C#, puis ajoutez un Visual Basic .NET ou la bibliothèque de classes Visual Basic 2005.

La bibliothèque de classes Visual Basic doit tout d'abord être ajoutée. Pour ajouter la bibliothèque de classes Visual Basic, procédez comme suit :
  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit solution « HowToMultiComp » , pointez sur Ajouter et puis cliquez sur Nouveau projet .
  2. Cliquez sur projets Visual Basic .

    note Dans Visual Studio 2005, cliquez sur Visual Basic .
  3. Sous modèles , cliquez sur bibliothèque de classes .
  4. Dans la zone Nom , tapez NWClassLib et puis cliquez sur OK .

    Le Visual Basic .NET ou la bibliothèque de classes Visual Basic 2005 est ajouté à la solution.

    Class1.vb est désormais ouvert dans l'éditeur de fenêtre.
  5. Ajoutez les deux instructions Imports en haut pour accéder sténo point notation aux classes dans les espaces de noms suivants :
    Imports System.Data
    Imports System.Data.SqlClient
  6. Pour créer et remplir un DataSet avec les données de la table produits de Northwind, ajoutez la méthode suivante à Class1 (vous devrez peut-être ajuster la chaîne de connexion de votre ordinateur):
    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
    
    base de données = Les Comptoirs ; la sécurité intégrée = sspi ")) sqlDS.Fill(ds) renvoyer ds End Function
Créer la bibliothèque de classes C# Visual. Pour ce faire, procédez comme suit :
  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit solution « HowToMultiComp » , pointez sur Ajouter et puis cliquez sur Nouveau projet .
  2. Cliquez sur projets Visual C# .

    note Dans Visual Studio 2005, cliquez sur Visual C# .
  3. Sous modèles , cliquez sur bibliothèque de classes .
  4. Dans la zone Nom , tapez SBClassLib et puis cliquez sur OK .

    La bibliothèque de classes Visual C# est ajoutée à la solution.

    Class1.cs est désormais ouvert dans la fenêtre de l'éditeur.
  5. Ajoutez les directives suivantes à l'aide en haut des exemples de code Class1.cs pour accéder sténo point notation aux classes dans l'espace de noms System.Text et l'espace de noms System.Collections :
    using System.Text;
    using System.Collections;
  6. Ajoutez le code suivant dans la classe Class1 publique , qui utilise une instance de la classe StringBuilder pour concaténer une chaîne unique contenue dans une liste de tableaux :
    public static String BuildString(ArrayList arlStrings)
    {
    	StringBuilder sb = new StringBuilder();
    	
    	foreach(String s in arlStrings)
    	{
    			sb.Append(s);
    			sb.Append(", ");
    	}
    	return sb.ToString();
    }
Vous pouvez maintenant créer l'application Windows Forms de Visual C# qui utilise ce composant. Pour créer de Visual C# Windows Forms application, procédez comme suit :
  1. Pour ajouter des références aux deux composants de bibliothèque de classes, procédez comme suit :
    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Références sous HowToMultiComp , puis cliquez sur Ajouter une référence .
    2. Sous projets , appuyez sur et maintenez la touche CTRL , cliquez sur NWClassLib et puis cliquez sur SBClassLib .
    3. Les deux projets sélectionnés, cliquez sur Sélectionner .
    4. Lorsque les deux projets apparaissent dans le sélectionné composants zone, cliquez sur OK .

      Les projets sont désormais listées sous références pour l'application de la fenêtre.
  2. Form1.cs est ouvert en mode Création. Si Form1.cs dans pas ouvrir, double-cliquez sur Form1.cs dans l'Explorateur de solutions.
  3. Appuyez sur CTRL + ALT + X pour ouvrir la boîte à outils, puis cliquez sur Windows Forms .
  4. Faites glisser un bouton dans le formulaire, puis appuyez sur F4 pour accéder à la page Propriétés pour le bouton.
  5. Modifier le paramètre de propriété texte à afficher les produits .
  6. Ajouter un autre bouton et ensuite modifier le texte propriété pour créer une chaîne .
  7. Faites glisser un contrôle DataGrid sur le formulaire et puis placez-la en dessous des boutons. Redimensionner le contrôle DataGrid pour qu'il remplit la zone restante dans l'écran.
  8. Double-cliquez sur Afficher les produits . Visual Studio .NET crée automatiquement un gestionnaire d'événements Click .
  9. Ajoutez le code suivant le le gestionnaire d'événements Click :
    dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
    ce code définit la propriété source de données de la grille de données vers le DataSet retourné par la méthode GetProducts de la bibliothèque de classes.
  10. Pour créer le gestionnaire un deuxième d'événements Click , double-cliquez sur Créer une chaîne .
  11. Le code suivant nécessaire le contenu de chaque cellule de la première ligne du DataGrid haut à la cellule 7 et ajoute ensuite le contenu à une liste de tableaux . La liste de tableaux est ensuite transférées à la méthode SBClassLibrary , qui renvoie une chaîne qui s'affiche dans une fonction MessageBox . Une instance de la classe n'est pas nécessaire, car la méthode a été déclarée précédemment en utilisant le mot clé statique.

    Ajoutez le code suivant au gestionnaire d'événements 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

Terminer la liste de code

Exécuter le code liste (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

Exécuter le code liste (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

Exécuter le code liste (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));
		}
	}
}
note Le code doit être modifié dans Visual Studio 2005. Lorsque vous créez un projet Windows Forms, Visual C# ajoute un formulaire au projet par défaut. Ce formulaire est nommé Form1. Les deux fichiers qui représentent le formulaire sont appelés Form1.cs et Form1.Designer.cs. Vous écrivez votre code dans Form1.cs. Le fichier Sesigner.cs est où le Concepteur Windows Forms écrit le code qui implémente toutes les actions que vous avez effectué en ajoutant des contrôles. Pour plus d'informations sur le concepteur Windows Forms de Visual C# 2005, reportez-vous au site de Web Microsoft suivant :
http://msdn2.microsoft.com/en-us/library/ms173077.aspx
Back to the top

Vérifiez qu'il fonctionne

  1. Appuyez sur F5 pour exécuter l'application en mode débogage.
  2. Lorsque le formulaire apparaît, cliquez sur obtenir produits .

    La grille de données affiche tous les produits de la table produits de Northwind.
  3. Cliquez sur Générer chaîne .

    Une boîte de message s'affiche le contenu concaténés, séparé des cellules de la première ligne, dans les cellules comportant un index de 7 (base zéro).
  4. Appuyez sur MAJ + F5 pour arrêter le débogage et retourner à Visual Studio .NET.
Back to the top

Résolution des problèmes

Veillez à ne pas confondre la syntaxe lorsque vous travaillez avec deux langues. Visual C# est très spécifique et les messages d'erreur sont pas toujours comme invite ou aussi intuitive que les les messages d'erreur dans Visual Basic .NET ou Viusal Basic 2005. Par conséquent, vous souhaiterez peut-être signet "équivalents langue « section du kit de développement logiciel .NET Framework pour résoudre ces problèmes. Recherchez la rubrique d'aide suivantes dans l'aide de Microsoft :
MS:Help://MS.VCC/MS.MSDNVS/vsintro7/HTML/vxgrfLanguageEquivalents.htm
Back to the top

Références

Pour plus d'informations, reportez-vous au site de Web MSDN suivant :
Création d'une solution Mutli-projet
http://msdn2.microsoft.com/en-us/library/aa265251(VS.60).aspx
Back to the top

Propriétés

Numéro d'article: 816175 - Dernière mise à jour: mercredi 16 mai 2007 - Version: 2.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Initiation
  • Microsoft Visual C# .NET 2002 Initiation
Mots-clés : 
kbmt kbhowtomaster kbinterop kbappdev kbhowto KB816175 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 816175
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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