Jak spravovat vícejazyčný model Windows Forms řešení v sadě Visual Studio.ČISTÁ nebo Visual Studio 2005

Překlady článku Překlady článku
ID článku: 315838 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak vytvořit malý, vícejazyčné aplikace systému Windows. Hlavní aplikace je vytvořena v aplikaci Visual Základní.NET nebo Visual Basic 2005. Používá tato aplikace Visual Basic Visual C# knihovna tříd komponenty ke znázornění vícejazyčný odkazy a provádění dědičnost.

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťové infrastruktury a aktualizace service Pack, které potřebujete:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows XP Professional nebo Microsoft Windows XP Server Microsoft.NET Framework nainstalována
  • Microsoft Data Engine (MSDE) nebo Microsoft SQL Server 7.0 nebo později s databázi Northwind
Tento článek předpokládá, že jste obeznámeni s následujícími témata:
  • Implementace dědičnosti
  • Model Windows Forms
  • Microsoft ADO.NET

Vytvořit vícejazyčné aplikace systému Windows

Tyto kroky demonstrují, jak vytvořit malý, překlady Aplikace systému Windows. Po klepnutí na tlačítko, můžete zobrazit všechny produkty z v databázi Northwind Objekt DataGrid ovládací prvek.
  1. Vytvořit projekt aplikace Visual Basic Windows jako takto:
    1. Spusťte aplikaci Visual Studio.NET nebo Microsoft Visual Studio 2005 a potom klepněte na tlačítko Nový projekt.
    2. Ve skupinovém rámečku Typy projektů, klepněte na tlačítko Projekty jazyka Visual Basic. Ve skupinovém rámečku Šablony, klepněte na tlačítko Aplikace systému Windows. Přejmenování projektu MultiLangHowTo, a Klepněte na tlačítko OK.

      Poznámka: V aplikaci Visual Studio 2005 klepněte na tlačítko Visual Basic ve skupinovém rámečku Typy projektů.
  2. Přesvědčte se, zda okna v aplikaci Solution Explorer viditelné. Pokud není, klepněte na tlačítko Aplikaci Solution Explorer v Zobrazení nabídka.
  3. Nyní máte prostředí jazyka Visual Basic.NET nebo jazyka Visual Basic 2005 model Windows Forms aplikace v rámci řešení s názvem MultiLangHowTo. To, aby vícejazyčné řešení, je třeba přidat aplikace Visual C# knihovny tříd.

    V okno aplikaci Solution Explorer klepněte pravým tlačítkem myši MultiLangHowTo, přejděte na příkaz Přidata klepněte na tlačítko Nový projekt. Ve skupinovém rámečku Typy projektů, klepněte na tlačítko Visual C# projekty. Ve skupinovém rámečku Šablony, klepněte na tlačítko Knihovna tříd. Přejmenovat knihovna tříd NWClassLib. Klepněte na tlačítko OK Tato knihovna tříd přidat do roztoku.

    Poznámka: V aplikaci Visual Studio 2005 klepněte na tlačítko Visual C# ve skupinovém rámečku Typy projektů.
  4. Modulu Class1.cs se zobrazí v okně editoru. Přidejte následující deklarace oboru názvů do horní části okna. Tato prohlášení umožňují přístup do různých tříd, takže můžete vytvořit a vyplnit Objekt DataSet objekt.
    using System.Data;
    using System.Data.SqlClient;
    					
  5. Nahradit Class1 Metoda s následující kód, který vytvoří a vyplní Objekt DataSet se všemi daty z tabulky výrobky Northwind:
    public static DataSet GetProducts()
    {
       DataSet ds = new DataSet();
       SqlDataAdapter sqlDS = new SqlDataAdapter(
          "select * from products", new SqlConnection(
          "server=(local);database=northwind;Integrated Security=SSPI"));
       sqlDS.Fill(ds);
       return ds;
    } 
    						
    POZNÁMKA:: Vývoj systému mohou vyžadovat jiné připojení SQL řetězec. Případné potíže, obraťte se na vašeho správce systému.
  6. Nyní můžete vytvořit model Windows Forms jazyka Visual Basic aplikace, která bude využívat této součásti. Form1.vb by měl být již otevřen v návrhovém zobrazení. Pokud ne, poklepejte na položku Form1.VB v okně Průzkumník řešení.
  7. Přidat Tlačítko řízení a Objekt DataGrid řízení do formuláře:
    1. V Zobrazení nabídky, klepněte na tlačítko Panel nástrojů Otevřete panel. Případně můžete stisknutím kláves CTRL + ALT + X kombinace kláves k otevření panelu.
    2. V soupravě nástrojů klepněte na tlačítko Model Windows Forms.
    3. Přidat Tlačítko řízení do formuláře.
    4. Stisknutím klávesy F4 na stránce Vlastnosti pro přístup Tlačítko ovládací prvek. Změnit Text Vlastnost Zobrazit produkty.
    5. Přidat Objekt DataGrid řízení do formuláře.
  8. Přidejte do projektu odkaz na součást NWClassLib jako takto:
    1. V okně Průzkumník řešení pod MultiLangHowTo, klepněte pravým tlačítkem myši Odkazya klepněte na tlačítko Přidat odkaz.
    2. V Projekty karta, poklepejte na položku NWClassLib. Všimněte si, že NWClassLib Zobrazí se v Vybrané součásti v seznamu.
    3. Klepněte na tlačítko OK. Všimněte si, že NWClassLib Zobrazí se pod Odkazy pro aplikace systému Windows.
  9. Poklepejte na tlačítko. Visual Studio.NET automaticky vytvoří Klepněte na tlačítko obslužnou rutinu události. Přidejte následující kód Klepněte na tlačítko obslužné rutiny události:
    Dim objNW As New NWClassLib.Class1()
            DataGrid1.DataSource = objNW.GetProducts.Tables(0)
    					

Úplný výpis kódu

Příklad modulu Class1.cs než dědičnost

using System;
using System.Data;
using System.Data.SqlClient;

namespace NWClassLib
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    public class Class1
    {
        public static DataSet GetProducts()
        {
            DataSet ds = new DataSet();
            SqlDataAdapter sqlDS = new SqlDataAdapter(
                "select * from products", new SqlConnection(
                "server=(local);database=northwind;Integrated Security=SSPI"));
            sqlDS.Fill(ds);
            return ds;
        } 
    }
}
				

Příklad modulu Class1.cs dědičnosti

using System;
using System.Data;
using System.Data.SqlClient;

namespace NWClassLib
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    public class Class1 : System.Windows.Forms.Form
    {
        public static DataSet GetProducts()
        {
            DataSet ds = new DataSet();
            SqlDataAdapter sqlDS = new SqlDataAdapter(
                "select * from products", new SqlConnection(
                "(local);database=northwind;uid=sa"));
            sqlDS.Fill(ds);
            return ds;
        }
    }
}
				

Formuláře System.Windows.Forms.Form dědění Form1.VB

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'The Windows Form Designer requires this call.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call.

    End Sub

    'Form overrides Dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'The Windows Form Designer requires this code.
    Private components As System.ComponentModel.IContainer

    'The Windows Form Designer requires this procedure.
    'You can use the Windows Form Designer to modify it. 
    'However, do not use the Code editor to modify it.
    Friend WithEvents Button1 As System.Windows.Forms.Button
    Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Button1 = New System.Windows.Forms.Button()
        Me.DataGrid1 = New System.Windows.Forms.DataGrid()
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(24, 16)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(96, 23)
        Me.Button1.TabIndex = 0
        Me.Button1.Text = "Show Products"
        '
        'DataGrid1
        '
        Me.DataGrid1.DataMember = ""
        Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
        Me.DataGrid1.Location = New System.Drawing.Point(24, 48)
        Me.DataGrid1.Name = "DataGrid1"
        Me.DataGrid1.Size = New System.Drawing.Size(256, 200)
        Me.DataGrid1.TabIndex = 1
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 266)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.DataGrid1, Me.Button1})
        Me.Name = "Form1"
        Me.Text = "Form1"
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
        Dim objNW As New NWClassLib.Class1()
        DataGrid1.DataSource = objNW.GetProducts.Tables(0)
    End Sub
End Class
				
Poznámka: Je nutné změnit kód v jazyce Visual Basic 2005. Ve výchozím nastavení vytvoří aplikace Visual Basic dva soubory projektu při vytvoření projektu model Windows Forms. Pokud formulář pojmenován Formulář1, dva soubory, které představují formuláře jsou pojmenovány, Form1.vb a Form1.Designer.vb. Píšete kód v souboru Form1.vb. Návrhář model Windows Forms zapíše kód v souboru Form1.Designer.vb. Návrhář model Windows Forms používá klíčové slovo částečné provádění formulář1 rozdělit do dvou samostatných souborů. Toto chování zabrání je proloženo kódu generovaném kódu.

Další informace o nová vylepšení jazyka Visual Basic 2005 naleznete na webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms379584 (vs.80) .aspx
Další informace o částečné třídy a Návrhář model Windows Forms naleznete na webu MSDN:
http://msdn2.microsoft.com/en-us/library/ms171843.aspx

Dědění NWClassLib.Class1 WebForm1.vb

Public Class Form1
    Inherits NWClassLib.Class1

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'The Windows Form Designer requires this call.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call.

    End Sub

    'Form overrides Dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'The Windows Form Designer requires this code.
    Private components As System.ComponentModel.IContainer

    'The Windows Form Designer requires this procedure.
    'You can use the Windows Form Designer to modify it. 
    'However, do not use the Code editor to modify it.
    Friend WithEvents Button1 As System.Windows.Forms.Button
    Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Button1 = New System.Windows.Forms.Button()
        Me.DataGrid1 = New System.Windows.Forms.DataGrid()
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(24, 16)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(96, 23)
        Me.Button1.TabIndex = 0
        Me.Button1.Text = "Show Products"
        '
        'DataGrid1
        '
        Me.DataGrid1.DataMember = ""
        Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
        Me.DataGrid1.Location = New System.Drawing.Point(24, 48)
        Me.DataGrid1.Name = "DataGrid1"
        Me.DataGrid1.Size = New System.Drawing.Size(256, 200)
        Me.DataGrid1.TabIndex = 1
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 266)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.DataGrid1, Me.Button1})
        Me.Name = "Form1"
        Me.Text = "Form1"
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
        'Dim objNW As New NWClassLib.Class1()
        DataGrid1.DataSource = GetProducts.Tables(0)
    End Sub
End Class
				

Ověřte, zda funguje

  1. Stisknutím klávesy F5 spusťte aplikaci v ladění režim.
  2. Jakmile se zobrazí formulář, klepněte na tlačítko Zobrazit produkty. Na Objekt DataGrid Zobrazí všechny produkty z produktů Northwind Tabulka.
  3. Stiskněte kombinaci kláves SHIFT + F5 Zastavit ladění a Vraťte se do aplikace Visual Studio.

Kroky k prokázání vícejazyčný dědičnosti

Pro ilustraci vícejazyčný dědičnosti, je třeba upravit Ukázka mírně. Namísto vytváření instance třídy knihovny součást aplikace dědí z něj.

Na Formulář1 Třída aktuálně dědí Formuláře System.Windows.Forms.Form Třída. Protože Microsoft.NET nepodporuje více dědičnost, musíte přesunout Windows.Forms.Form dědičnost třídy NWClassLib.Class1 třída zdědit součást knihovny tříd.

POZNÁMKA:: Není n složek architektury vhodné dědí uživatele Třída rozhraní v komponentě dat vrstvy. Můžete však upravit vzorek jako takto snadno prokázat jiný aspekt vícejazyčné řešení Správa.
  1. Přidat odkaz na Formuláře System.Windows.Forms.Form obor názvů knihovny tříd před úpravou Visual C# kód.
  2. V okně Průzkumník řešení pod NWClassLib, klepněte pravým tlačítkem myši Odkazya klepněte na tlačítko Přidat odkaz.
  3. V .NET karta, poklepejte na položku System.Windows.Forms.dll. Všimněte si, že System.Windows.Forms.dll Zobrazí se v Vybrané součásti v seznamu.
  4. Klepněte na tlačítko OK. Všimněte si, že System.Windows.Form Zobrazí se pod Odkazy v komponentě knihovny tříd.
  5. Změnit Class1 prohlášení, které zdědily Formulář Třída:
    public class Class1 : System.Windows.Forms.Form
    					
  6. Visual Basic.NET nebo jazyka Visual Basic 2005 Formulář1 Třída je nyní připraven dědit Class1. Protože Class1 dědí Formuláře System.Windows.Forms.Form Třída MultiLangHowTo.Form1 Třída také zdědí. Formuláře System.Windows.Forms.Form prostřednictvím jeho dědičnost Class1.

    V okně Editor klepněte na tlačítko Form1.VB. V deklaraci třídy slova Formuláře System.Windows.Forms.Form s NWClassLib.Class1. Aktualizovaný kód by měl vypadat takto:
    Inherits NWClassLib.Class1
    					
  7. Komentář mimo první řádek v Klepněte na tlačítko Obslužná rutina události takto:
    'Dim objNW As New NWClassLib.Class1()
    						
    POZNÁMKA:: Střídavě umístěte kurzor na řádek a klepněte na tlačítkoKomentovat vybrané řádky na panelu nástrojů komentovat řádek kódu.
  8. Druhý řádek upravte takto:
    DataGrid1.DataSource = GetProducts.Tables(0)
    					
  9. Opakujte kroky Ověřte, zda funguje sekce.

Poradce při potížích

  • Při práci se dvěma jazyky, je snadné zmást syntaxe. Visual C# syntaxe neumožňuje široké rozpětí chyby. Navíc Visual C#.NET chybové zprávy nejsou vždy se dotázat se nebo intuitivní, jako Visual Basic.NET chybové zprávy. Chcete-li tyto potíže vyřešit, naleznete v části "Ekvivalenty jazyk" Microsoft.Rozhraní .NET Framework Software Development Kit (SDK):
    Ekvivalenty jazyk
    http://msdn2.microsoft.com/en-us/library/czz35az4 (vs.71) .aspx
  • Chcete-li použít provádění dědičnosti, studie zásady objektově orientovaného návrhu a zvážit architektura aplikace předem. Obvyklou chybou je kód přepnutí do hlavní aplikace, které je nutné dědit v knihovně tříd. V tomto případě nelze zdědit hlavní aplikace v knihovně třídy z důvodu cyklické závislosti. Například Zkuste přidat odkaz na projekt MultiLangHowTo v NWClassLib projektu. Zobrazí se následující chybová zpráva:
    Odkaz na 'multilanghowto' nelze přidat. Přidání tohoto projektu jako odkaz způsobit kruhová závislost.

Odkazy

Další informace naleznete na následujícím webu společnosti Microsoft weby:
Základní Instincts: Pomocí dědičnosti v.NET, část 1
http://msdn.microsoft.com/en-us/Magazine/cc135806.aspx

Základní Instincts: Pomocí dědičnosti v.NET, část 2
http://msdn.microsoft.com/en-us/Magazine/cc301744.aspx

Vlastnosti

ID článku: 315838 - Poslední aktualizace: 28. února 2014 - Revize: 6.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315838 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:315838

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