Jak spravovat vícejazyčný součásti řešení v jazyce Visual C#

Překlady článku Překlady článku
ID článku: 816175 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje, jak spravovat vícejazyčný součásti řešení pomocí Visual C# .NET nebo Visual C# 2005.

Další informace

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace Service Pack:
  • Jeden z následujících operačních systémů:
    • Microsoft Windows 2000 Professional (nebo server)
    • Microsoft Windows XP Professional s nainstalovaným rozhraním .NET Framework
    • Systém Microsoft Windows Server 2003
  • Microsoft Visual Studio .NET nebo Microsoft Visual Studio 2005,.
  • Microsoft SQL Server verze 7.0 nebo vyšší s Northwind databáze.
Tento článek předpokládá znalost následujících témat:
  • Implementace dědičnosti
  • Model Windows Forms
  • ADO.NET
Back to the top

Spravovat vícejazyčný Component řešení

Tento článek popisuje, jak vytvořit řešení, které obsahuje následující tři projekty:
  • Aplikace Visual C# Windows používá metody třídy dvě projektu.
  • Projekt Visual Basic .NET nebo Visual Basic 2005 knihovnu, která přistupuje k databázi NorthWind a vrátí DataSet.
  • Projekt Visual C# Class Library, která má metodu, která trvá ArrayList objekty řetězec a vrátí řetězec jednoho spojení pomocí instance třídy StringBuilder.
Chcete-li vytvořit prostředí Visual C# Windows Forms aplikace řešení následujících kroků:
  1. Klepněte na tlačítko Start, přejděte na příkaz programy a přejděte na příkaz Microsoft Visual Studio.NET (pro Visual Studio .NET 2002), Microsoft Visual Studio .NET 2003 (pro Microsoft Visual Studio .NET 2003) nebo Microsoft Visual Studio 2005 (pro Microsoft Visual Studio 2005).
  2. Klepněte na položku Microsoft Visual Studio .NET nebo Microsoft Visual Studio 2005.
  3. Možnost Nový projekt a potom klepněte na položku Visual C# projekty

    Poznámka: V aplikaci Visual Studio 2005 klepněte Visual C#.
  4. V části šablony klepněte na položku Windows aplikace.
  5. V poli název zadejte HowToMultiComp a potom klepněte na tlačítko OK.
  6. Při vytvoření projektu zkontrolujte, zda je Solution Explorer viditelné. Pokud Solution Explorer není zobrazen, stiskněte CTRL + ALT + L.

    Nyní máte prostředí aplikace Visual C# Windows Forms v řešení s názvem HowToMultiComp.
Vytvořit řešení vícejazyčný součást přidat Visual C# třídy knihovnu a přidat Visual Basic .NET nebo Visual Basic 2005 knihovny tříd.

Knihovny tříd jazyka musí být nejprve přidán. Přidat knihovny tříd jazyka, postupujte takto:
  1. V aplikaci Solution Explorer klepněte pravým tlačítkem myši řešení 'HowToMultiComp, přejděte na příkaz Přidat a potom klepněte na tlačítko Nový projekt.
  2. Klepnutím na projekty jazyka.

    Poznámka: V aplikaci Visual Studio 2005 klepněte jazyka.
  3. V části šablony na Knihovny tříd.
  4. V poli název zadejte NWClassLib a potom klepněte na tlačítko OK.

    Visual Basic .NET nebo Visual Basic 2005 knihovny tříd je přidán do řešení.

    Class1.VB je nyní v editoru otevřené okno.
  5. Přidat dvě direktivy importy horní zjednodušený tečka přístup zápis k tříd následující obory názvů:
    Imports System.Data
    Imports System.Data.SqlClient
  6. Vytvoření a vyplnění dat z tabulky Produkty Northwind DataSet přidat následující metodu Class1 (může mít Upravit řetězec připojení počítače):
    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
    
Vytvoření knihovny Visual C# tříd. Postupujte takto:
  1. V aplikaci Solution Explorer klepněte pravým tlačítkem myši řešení 'HowToMultiComp, přejděte na příkaz Přidat a potom klepněte na tlačítko Nový projekt.
  2. Klepněte na odkaz Visual C# projekty.

    Poznámka: V aplikaci Visual Studio 2005 klepněte Visual C#.
  3. V části šablony na Knihovny tříd.
  4. V poli název zadejte SBClassLib a potom klepněte na tlačítko OK.

    Visual knihovny tříd C# je přidán do řešení.

    Class1.cs je nyní otevřen v okně editoru.
  5. Přidat následující direktivy pomocí horní části Ukázkový kód Class1.cs zjednodušený tečka zápis přístup k třídám v oboru názvů System.Text a oboru názvů System.Collections:
    using System.Text;
    using System.Collections;
  6. Přidejte následující kód veřejné třídy Class1, která používá instanci třídy StringBuilder k zřetězit jeden řetězec, který je obsažen v ArrayList:
    public static String BuildString(ArrayList arlStrings)
    {
    	StringBuilder sb = new StringBuilder();
    	
    	foreach(String s in arlStrings)
    	{
    			sb.Append(s);
    			sb.Append(", ");
    	}
    	return sb.ToString();
    }
Nyní můžete vytvořit Visual C# Windows Forms aplikace, která spotřebovává této součásti. Vytvořit Visual C# Windows Forms aplikace, postupujte takto:
  1. Přidat odkazy dvě součásti knihovny tříd, postupujte takto:
    1. V aplikaci Solution Explorer klepněte pravým tlačítkem myši odkazy pod HowToMultiComp a potom klepněte na tlačítko Přidat odkaz.
    2. Pod projekty stiskněte a podržte klávesu CTRL, klepnutím NWClassLib a klepněte na tlačítko SBClassLib.
    3. S vybrané oba projekty klepněte na tlačítko Vybrat.
    4. Když se oba projekty v vybrané součásti klepněte na tlačítko OK.

      Projekty jsou nyní uvedeny v části odkazy pro okno aplikace.
  2. Form1.cs je otevřen v návrhovém zobrazení. Pokud v Form1.cs není již otevřít, poklepejte v aplikaci Solution Explorer Form1.cs.
  3. Stiskněte kombinaci kláves CTRL + ALT + X otevřít na panelu nástrojů a klepněte na model Windows Forms.
  4. Přetáhněte tlačítko do formuláře a potom stiskněte klávesu F4 přístup na stránce vlastností na tlačítko.
  5. Změnit nastavení vlastnosti TextZobrazit výrobky.
  6. Přidat tlačítko jiné a potom změňte text vlastnost Vytvořit řetězec.
  7. Přetáhněte do formuláře ovládací prvek DataGrid a umístěte jej pod tlačítky. Změnit velikost ovládacího prvku DataGrid doplní zbývající oblasti ve formuláři.
  8. Poklepejte na položku zobrazit výrobky. Visual Studio .NET automaticky vytvoří obslužnou rutinu události klepnutí.
  9. Přidejte následující kód obslužné rutiny události klepnutí:
    dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
    tento kód nastaví vlastnosti DataSourceDataGridDataSet byl vrácen metodou GetProducts knihovny tříd.
  10. Vytvořit druhý obsluhu události klepnutí, poklepejte na Řetězec sestavit.
  11. Následující kód obsah každé buňky v prvním řádku DataGrid trvá až do buňky 7 a potom přidá obsah ArrayList. ArrayList je pak předán SBClassLibrary metodu, která vrací řetězec, který se zobrazí funkce MessageBox. Instance třídy není nutné, protože metoda byla dříve deklarována pomocí statické klíčové slovo.

    Následující kód přidejte obslužnou rutinu události klepnutí:
    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

Úplný výpis kódu

Dokončení kód výpis (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

Dokončení kód výpis (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

Dokončení kód výpis (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));
		}
	}
}
Poznámka: Kód by měl být změněn v aplikaci Visual Studio 2005. Při vytváření projektu model Windows Forms Visual C# přidá jeden formulář projektu ve výchozím nastavení. Tento formulář je pojmenován Form1. Dva soubory, které představují formuláře se nazývají Form1.cs a Form1.designer.cs. Zápis kódu v Form1.cs. Kde Návrhář model Windows Forms zapíše kód, který implementuje všechny akce provedena přidáním ovládacích prvků je soubor Sesigner.cs. Další informace o model Windows Forms Designer v Visual C# 2005 naleznete na následujícím webu:
http://msdn2.microsoft.com/en-us/library/ms173077.aspx
Back to the top

Ověřte, zda funguje IT

  1. Stisknutím klávesy F5 spuštění aplikace v režimu ladění.
  2. Jakmile se zobrazí formulář, klepněte na tlačítko získat produkty.

    DataGrid zobrazí všechny produkty z tabulky Produkty Northwind.
  3. Klepněte na tlačítko Sestavit řetězec.

    Zobrazí zprávu pole zobrazující spojených obsah buněk v prvním řádku prostřednictvím buňku s indexem 7 (od nuly).
  4. Stiskněte klávesy SHIFT + F5 Zastavit ladění a vrátíte se do Visual Studio .NET.
Back to the top

Odstraňování potíží

Zkontrolujte, zda matoucí syntaxe, při práci s dva jazyky. Visual C# je velmi konkrétní a chybové zprávy nejsou vždy jako výzva nebo jako intuitivní jako chybové zprávy v Visual Basic .NET nebo Viusal Basic 2005. Proto může chcete záložku ekvivalenty"jazyk" části .NET Framework software development kit řešení těchto potíží. Vyhledejte následující téma nápovědy v MS nápovědy:
MS:help://MS.VCC/MS.MSDNVS/vsintro7/HTML/vxgrfLanguageEquivalents.htm
Back to the top

Odkazy

Další informace naleznete na následujícím webu MSDN:
Vytváření řešení Project Mutli
http://msdn2.microsoft.com/en-us/library/aa265251(VS.60).aspx
Back to the top

Vlastnosti

ID článku: 816175 - Poslední aktualizace: 16. května 2007 - Revize: 2.5
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Klíčová slova: 
kbmt kbhowtomaster kbinterop kbappdev kbhowto KB816175 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:816175

Dejte nám zpětnou vazbu

 

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