Zum Verwalten einer Projektmappe multilanguage-Komponente in Visual c#

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 816175 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Eine Microsoft Visual Basic .NET Version dieses Artikels finden Sie unter 317702.

Inhalt


Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt wie Sie eine mehrsprachige Komponente Lösung mit Visual c# .NET oder Visual c# 2005 verwalten.

Weitere Informationen

Voraussetzungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Service Packs, die erforderlich sind:
  • Eines der folgenden Betriebssysteme:
    • Microsoft Windows 2000 Professional (oder Server)
    • Microsoft Windows XP Professional mit dem .NET Framework installiert
    • Microsoft Windows Server 2003
  • Microsoft Visual Studio .NET oder Microsoft Visual Studio 2005.
  • Microsoft SQL Server Version 7.0 oder höher mit Northwind-Datenbank.
In diesem Artikel wird vorausgesetzt, dass Sie über Erfahrungen auf den folgenden Gebieten verfügen:
  • Implementierungsvererbung
  • Windows Forms
  • ADO.NET
Back to the top

Verwalten einer MultiLanguage Component-Lösung

Dieser Artikel beschreibt eine Lösung erstellen, die die folgenden drei Projekte enthält:
  • Ein Visual C#-Windows-Anwendung, in den anderen beiden Projekt Klassen Methoden verwendet.
  • Ein Visual Basic .NET oder Visual Basic 2005 Library Projekt, das auf die NorthWind-Datenbank zugreift und einen DataSet zurückgegeben.
  • Ein Visual C#-Klassenbibliotheksprojekt mit der eine Methode akzeptiert eine ArrayList von String-Objekte und gibt eine einzelne Zeichenfolge, die mithilfe einer Instanz der StringBuilder -Klasse verkettet wird.
So erstellen Sie die Shell von einem Visual C#-Windows Forms Anwendung in einer Projektmappe, gehen Sie folgendermaßen vor:
  1. Klicken Sie auf Start , zeigen Sie auf Programme und zeigen Sie auf Microsoft Visual Studio .NET (für Visual Studio .NET 2002), Microsoft Visual Studio .NET 2003 (für Microsoft Visual Studio .NET 2003) oder Microsoft Visual Studio 2005 (für Microsoft Visual Studio 2005).
  2. Klicken Sie auf Microsoft Visual Studio .NET oder Microsoft Visual Studio 2005 .
  3. Klicken Sie auf Neues Projekt , und klicken Sie dann auf Visual C#-Projekte

    Hinweis: Klicken Sie in Visual Studio 2005 auf Visual c# .
  4. Klicken Sie unter Vorlagen auf Windows-Anwendung .
  5. Geben Sie im Feld Name HowToMultiComp , und klicken Sie dann auf OK .
  6. Wenn das Projekt erstellt wurde, sicher, dass Projektmappen-Explorer sichtbar. Wenn Projektmappen-Explorer nicht angezeigt wird, drücken Sie [STRG] + [ALT] + [L.

    Sie haben jetzt die Shell eine Visual C#-Windows Forms-Anwendung in einer Projektmappe mit dem Namen HowToMultiComp.
Um eine mehrsprachige Komponente Lösung erstellen, fügen Sie eine Visual C#-Klassenbibliothek und fügen Sie dann eine Visual Basic .NET oder Visual Basic 2005-Klassenbibliothek.

Der VB-Klassenbibliothek müssen zuerst hinzugefügt werden. Gehen Sie folgendermaßen vor zum Hinzufügen der VB-Klassenbibliothek:
  1. Klicken Sie mit der rechten Maustaste auf Projektmappe "HowToMultiComp" , zeigen Sie auf Hinzufügen und klicken Sie auf Neues Projekt im Projektmappen-Explorer.
  2. Klicken Sie auf Visual Basic-Projekte .

    Hinweis: Klicken Sie in Visual Studio 2005 auf Visual Basic .
  3. Klicken Sie unter Vorlagen auf Klassenbibliothek .
  4. Geben Sie in das Feld Name NWClassLib und klicken Sie dann auf OK .

    Die Visual Basic .NET oder Visual Basic 2005-Klassenbibliothek wird der Projektmappe hinzugefügt.

    Class1.vb ist jetzt im Editor geöffneten Fenster.
  5. Fügen Sie zwei Imports -Anweisungen am Anfang um Kürzel Punkt Notation auf Klassen in den folgenden Namespaces zuzugreifen:
    Imports System.Data
    Imports System.Data.SqlClient
  6. Erstellen und Auffüllen eines DataSet mit den Daten aus der Tabelle Northwind Products, fügen Sie die folgende Methode hinzu Class1 (möglicherweise müssen die Verbindungszeichenfolge für den Computer anpassen):
    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
    
Erstellen Sie die Visual C#-Klassenbibliothek. Gehen Sie hierzu folgendermaßen vor:
  1. Klicken Sie mit der rechten Maustaste auf Projektmappe "HowToMultiComp" , zeigen Sie auf Hinzufügen und klicken Sie auf Neues Projekt im Projektmappen-Explorer.
  2. Klicken Sie auf Visual C#-Projekte .

    Hinweis: Klicken Sie in Visual Studio 2005 auf Visual c# .
  3. Klicken Sie unter Vorlagen auf Klassenbibliothek .
  4. Geben Sie in das Feld Name SBClassLib und klicken Sie dann auf OK .

    Der Visual C#-Klassenbibliothek wird zur Projektmappe hinzugefügt.

    Class1.cs wird jetzt im Fenster Editor geöffnet.
  5. Fügen Sie die folgenden using -Directives am Anfang des Codebeispiels Class1.cs um Kürzel Punkt Notation auf den Klassen im System.Text -Namespace und dem System.Collections -Namespace zuzugreifen:
    using System.Text;
    using System.Collections;
  6. Fügen Sie folgenden Code in öffentliche Klasse Class1 , die eine Instanz der StringBuilder -Klasse verwendet, um eine einzelne Zeichenfolge verketten, die in einer ArrayList enthalten ist:
    public static String BuildString(ArrayList arlStrings)
    {
    	StringBuilder sb = new StringBuilder();
    	
    	foreach(String s in arlStrings)
    	{
    			sb.Append(s);
    			sb.Append(", ");
    	}
    	return sb.ToString();
    }
Sie können jetzt die Visual C#-Windows Forms-Anwendung erstellen, die diese Komponente verwendet. So erstellen Sie die Visual C#-Windows Forms-Anwendung, gehen Sie folgendermaßen vor:
  1. Gehen Sie folgendermaßen vor, Verweise auf zwei Klassenbibliothek Komponenten hinzuzufügen,
    1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Verweise unter HowToMultiComp und klicken Sie dann auf Verweis hinzufügen .
    2. Unter Projekte drücken und halten Sie die STRG -Taste gedrückt, klicken Sie auf NWClassLib und klicken Sie dann auf SBClassLib .
    3. Beide Projekte ausgewählt Klicken Sie auf auswählen .
    4. Wenn beide der Projekte angezeigt werden, der Ausgewählte Komponenten Feld, klicken Sie auf OK .

      Die Projekte werden jetzt für die Windows-Anwendung unter Verweise aufgelistet.
  2. Form1.cs ist in der Entwurfsansicht geöffnet. Wenn Form1.cs in nicht bereits geöffnet ist, doppelklicken Sie auf Form1.cs im Projektmappen-Explorer.
  3. Drücken Sie STRG + ALT + X, um die Toolbox zu öffnen, und klicken Sie dann auf Windows Forms .
  4. Ziehen Sie eine Schaltfläche auf das Formular, und drücken Sie F4, um die Eigenschaftenseite für die Schaltfläche zugreifen.
  5. Ändern Sie die Text -Eigenschafteneinstellung Produkte anzeigen .
  6. Fügen Sie eine andere Schaltfläche, und ändern Sie die Text -Eigenschaft auf Zeichenfolge erstellen .
  7. Ziehen Sie ein DataGrid -Steuerelement auf das Formular, und legen Sie es unter den Schaltflächen. Größe passen Sie das DataGrid -Steuerelement an, so dass er den verbleibenden Bereich auf das Formular ausfüllt.
  8. Doppelklicken Sie auf Artikel anzeigen . Visual Studio .NET erstellt automatisch einen Click -Ereignishandler.
  9. Fügen Sie folgenden Code hinzu, die dem Click -Ereignishandler:
    dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
    dieser Code legt die DataSource -Eigenschaft des DataGrid auf das DataSet , das von der GetProducts -Methode der Klassenbibliothek zurückgegeben wurde.
  10. Doppelklicken Sie auf Zeichenfolge erstellen , um einen zweiten Click -Ereignishandler zu erstellen.
  11. Der folgende Code nimmt den Inhalt jeder Zelle in der ersten Zeile des DataGrid-Steuerelements bis zur Zelle 7 und fügt dann den Inhalt zu einer ArrayList . Die ArrayList wird dann der SBClassLibrary -Methode, übergeben die eine Zeichenfolge, die angezeigt wird, in einer MessageBox -Funktion zurückgibt. Eine Instanz der Klasse ist nicht erforderlich, da die Methode früher mit das statische-Schlüsselwort deklariert wurde.

    Fügen Sie den folgenden Code hinzu den Click -Ereignishandler:
    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

Vollständige Codeauflistung

Komplette Codeauflistung (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

Komplette Codeauflistung (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

Komplette Codeauflistung (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));
		}
	}
}
Hinweis: Der Code sollte in Visual Studio 2005 geändert werden. Wenn Sie ein Windows Forms-Projekt erstellen, fügt Visual c# ein Formular dem Projekt hinzu standardmäßig. Dieses Formular wird Form1 bezeichnet. Die beiden Dateien, die das Formular darstellen werden Form1.cs und Form1.Designer.cs bezeichnet. Sie können Ihren Code schreiben, in "Form1.cs". Die Datei Sesigner.cs ist, wo Windows Forms-Designer schreibt den Code, der alle Aktionen implementiert, dass Sie durch Hinzufügen von Steuerelementen durchgeführt. Weitere Informationen zu Windows Forms-Designer in Visual c# 2005 die folgende Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/ms173077.aspx
Back to the top

Funktionsprüfung

  1. Drücken Sie F5, um die Anwendung im Debugmodus auszuführen.
  2. Wenn das Formular angezeigt wird, klicken Sie auf erhalten Artikel .

    Das DataGrid zeigt alle Produkte aus der Northwind-Produkte-Tabelle.
  3. Klicken Sie auf String erstellen .

    Ein Meldungsfeld wird mit verketteten Inhalt der Zellen der ersten Zeile über der Zelle mit einem Index (nullbasiert) 7 angezeigt.
  4. Drücken Sie UMSCHALT + F5, um Debuggen beenden und zur Visual Studio .NET zurückzukehren.
Back to the top

Problembehandlung

Stellen Sie sicher, dass nicht die Syntax zu verwechseln, wenn Sie in zwei Sprachen arbeiten. Visual c# ist sehr bestimmten und die Fehlermeldungen sind nicht immer als Eingabeaufforderung oder so intuitiv als Fehlermeldungen in Visual Basic .NET oder Viusal Basic 2005. Daher können Sie "Language Equivalents" Lesezeichen Abschnitt des .NET Framework Software Development Kit Sie diese Probleme beheben. Suchen Sie das folgende Thema Microsoft-Hilfe:
MS:help://MS.VCC/MS.MSDNVS/vsintro7/HTML/vxgrfLanguageEquivalents.htm
Back to the top

Informationsquellen

Weitere Informationen der folgenden MSDN-Website:
Eine Projektmappe Multi-Projekt erstellen
http://msdn2.microsoft.com/en-us/library/aa265251(VS.60).aspx
Back to the top

Eigenschaften

Artikel-ID: 816175 - Geändert am: Mittwoch, 16. Mai 2007 - Version: 2.5
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbmt kbhowtomaster kbinterop kbappdev kbhowto KB816175 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 816175
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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