Visual C# içinde birden çok dil bileşeni çözüm yönetme hakkında

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

816175
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Özet
Bu makalede, Visual C# .NET veya Visual C# 2005 kullanarak birden çok dil bileşeni çözüm yönetme.
Daha fazla bilgi

Gereksinimler

Aşağıdaki listede, gereksinim duyulan donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Aşağıdaki işletim sistemlerinden biri:
    • Microsoft Windows 2000 Professional'ı (veya sunucu)
    • .NET Framework'ün Microsoft Windows XP Professional
    • Microsoft Windows Server 2003
  • Microsoft Visual Studio .NET veya Microsoft Visual Studio 2005.
  • Microsoft SQL Server sürüm 7.0 veya daha yeni bir sürüm ile Northwind veritabanı.
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • Uygulama devralma
  • Windows Formları
  • ADO.NET
Back to the top

Çok dilli bir bileşen Solution'ı yönetme

Bu makalede, aşağıdaki üç projeler içeren bir çözüm oluşturmak için:
  • Diğer iki proje sınıflarda yöntemleri kullanan BIR Visual C# Windows uygulama.
  • NorthWind veritabanına erişir ve bir DataSet döndüren BIR Visual Basic .NET veya Visual Basic 2005 kitaplığı proje.
  • Bir dizenin ArrayList götüren bir yöntem olan BIR Visual C# Class Library proje nesneleri ve StringBuilder</a0> sınıfının bir örneği kullanarak birleştirilmiş tek bir dize döndürür.
Kabuk Visual bir C# Windows form oluşturmak için uygulama bir çözümde, şu adımları izleyin:
  1. Başlat ' ı tıklatın, Programlar ' ın üzerine gelin ve sonra Visual Studio.NET (Visual Studio .NET 2002), (Microsoft Visual Studio .NET 2003 için) Microsoft Visual Studio .NET 2003 veya Microsoft Visual Studio 2005 (Microsoft Visual Studio 2005) işaretleyin.
  2. Microsoft Visual Studio .NET, Microsoft Visual Studio 2005'i tıklatın.
  3. Yeni Proje'yi tıklatın ve sonra Visual C# Projects ' ı tıklatın.

    Not Visual Studio 2005'te, Visual C# ' ı tıklatın.
  4. Şablonları altında Windows uygulaması) tıklatın.
  5. Ad alanı, HowToMultiComp yazın ve Tamam ' ı tıklatın.
  6. Proje oluşturulduğunda, Solution Explorer görünür olduğundan emin olun. Solution Explorer görünmüyorsa, CTRL + ALT + N tuşlarına basın.

    Visual C# Windows Forms uygulaması Kabuk artık HowToMultiComp adlı bir çözüm vardır.
Çok dilli bileşeni bir çözüm oluşturmak için <a0></a0>, bir Visual C# sınıf kitaplığı'Ekle ve sonra da bir Visual Basic .NET veya Visual Basic 2005 Class Library ekleyin.

Visual Basic sınıf kitaplığı, ilk olarak eklenmelidir. Visual Basic sınıf kitaplığı eklemek için aşağıdaki adımları izleyin:
  1. Solution Explorer'da (Çözüm Gezgini), 'HowToMultiComp' Solution ' ı sağ tıklatın, sonra da Ekle işaret ve Yeni bir proje ' ı tıklatın.
  2. Visual Basic Projeleri) tıklatın.

    NotVisual Basic, Visual Studio 2005'i tıklatın.
  3. Şablonları altında Sınıf kitaplığı ' nı tıklatın.
  4. Adı kutusuna, NWClassLib yazın ve Tamam ' ı tıklatın.

    Çözüm için Visual Basic .NET veya Visual Basic 2005 Class Library eklenir.

    Class1.vb düzenleyicide açık pencere.
  5. Üst steno nokta gösterimde aşağıdaki ad sınıfları erişmek için iki ımports yönergelerini ekleyin:
    Imports System.DataImports System.Data.SqlClient
  6. Oluşturur ve Northwind Ürünler tablosundan veriler içeren bir DataSet doldurmak için aşağıdaki yöntemi (bilgisayarınız için bağlantı dizesini ayarlamanız gerekebilir) Class1 ekleyin: As New DataSet() Dim sqlDS farklı yeni SqlDataAdapter
    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 dsEnd Function
Visual C# sınıf kitaplığı oluşturun. Bunu yapmak için şu adımları izleyin:
  1. Solution Explorer'da (Çözüm Gezgini), 'HowToMultiComp' Solution ' ı sağ tıklatın, sonra da Ekle işaret ve Yeni bir proje ' ı tıklatın.
  2. Visual C# Projects</a1> seçeneğini tıklatın.

    Not Visual Studio 2005'te, Visual C# ' ı tıklatın.
  3. Şablonları altında Sınıf kitaplığı ' nı tıklatın.
  4. Adı kutusuna, SBClassLib yazın ve Tamam ' ı tıklatın.

    Visual C# sınıf kitaplığı, çözümü eklenir.

    Class1.cs düzenleyici penceresinde açıldı.
  5. Üst kısmındaki Class1.cs kod örneği, steno nokta gösterimde System.Text ad ve System.Collections ad alanı sınıflarına erişmek için aşağıdaki yönergeleri kullanarak ekleyin:
    using System.Text;using System.Collections;
  6. StringBuilder</a0> sınıfının bir örneği bir ArrayList içeren tek bir dize bitiştirmek için kullandığı Genel sınıf Class1 aşağıdaki kodu ekleyin:
    public static String BuildString(ArrayList arlStrings){	StringBuilder sb = new StringBuilder();		foreach(String s in arlStrings)	{			sb.Append(s);			sb.Append(", ");	}	return sb.ToString();}
Artık, bu bileşen, Visual C# Windows Forms uygulaması oluşturabilirsiniz. Visual C# pencereleri oluşturmak için uygulama formları için şu adımları izleyin:
  1. Iki sınıf kitaplığı bileşeni için başvuruları eklemek için <a0></a0>, aşağıdaki adımları izleyin:
    1. Solution Explorer'da (Çözüm Gezgini), HowToMultiComp altında Başvurular ' ı sağ tıklatın ve Add Reference</a1>'ı tıklatın.
    2. Projeler altında basın ve CTRL tuşunu basılı tutun ve NWClassLib tıklatın SBClassLib</a1>'ı tıklatın.
    3. Seçili iki projelerle Seç ' i tıklatın.
    4. Her iki proje de görüntülenirken Seçili bileşenleri kutusunda, Tamam ' ı tıklatın.

      Projeler, uygulama için pencere References altında şimdi listelendi.
  2. Tasarım görünümünde Form1.cs açıktır. Form1.cs içinde henüz açın, Form1.cs Solution Explorer'da (Çözüm Gezgini) çift tıklatın.
  3. Araç kutusunu açmak için CTRL + ALT + X tuşlarına basın ve Windows Forms ' ı tıklatın.
  4. Düğme forma sürükleyin ve sonra düğme için özellik sayfasına erişmek için F4 tuşuna basın.
  5. Text</a0> özellik ayarı, Products Göster değiştirin.
  6. Başka bir düğme ekleyin ve sonra metni değiştirme özelliği String oluştur.
  7. DataGrid denetimi forma sürükleyin ve sonra düğmelerden bırakın. Böylece, formdaki kalan alan doldurur DataGrid denetimi yeniden boyutlandırın.
  8. Products Göster çift tıklatın. Visual Studio. NET'i otomatik olarak bir tıklatın olay işleyici oluşturur.
  9. Aşağıdaki kodu ekleyin tıklatın olay işleyicisi:
    dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
    bu kod, sınıf kitaplığı GetProducts yöntemi tarafından döndürülen DataSetDataGridDataSource özelliğini ayarlar.
  10. Ikinci bir tıklatın olay işleyicisi oluşturmak için <a0></a0>, Dize oluştur'ni çift tıklatın.
  11. Aşağıdaki kod DataGrid'in ilk satırda her hücrenin içeriğini, hücre (7) kadar alır ve sonra da bir ArrayList içeriğini ekler. ArrayListSBClassLibrary yöntemi, MessageBox işlevde görüntülenen dizeyi döndürür geçirilir. Yöntem önceki statik anahtar sözcük kullanarak bildirilen çünkü sınıfının bir örneği, gerekmez.

    Tıklatın olay işleyicisine aşağıdaki kodu ekleyin:
    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

Kod dökümü tamamlayın.

(Class1.vb) liste kodu tamamlayın.

Imports System.DataImports System.Data.SqlClientPublic 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 FunctionEnd Class
Back to the top

(Class1.cs) liste kodu tamamlayın.

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

(Form1.cs) liste kodu tamamlayın.

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));		}	}}
Not Kod, Visual Studio 2005'te değiştirilmelidir. Windows Forms bir proje oluşturduğunuzda, Visual C# bir form projeye varsayılan olarak ekler. Bu formu Form1 ' dir. Form temsil eden iki dosya, Form1.cs Form1.designer.cs olarak adlandırılır. Kodunuzu, Form1.cs içinde yazın. Burada Windows Form Designer denetimleri ekleyerek gerçekleştirilen tüm eylemleri gerçekleştiren kod yazma Sesigner.cs dosyasıdır. Visual C# 2005'te Windows Forms Tasarımcısı hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:Back to the top

It Works That doğrulayın.

  1. Uygulama hata ayıklama modunda çalıştırmak için F5 tuşuna basın.
  2. Form görününce tıklatın Al Products.

    DataGrid, Northwind Ürünler tablosundan tüm ürünleri gösterir.
  3. Dize oluştur seçeneğini tıklatın.

    Bir ileti kutusu aracılığıyla dizin (sıfır tabanlı) 7'in hücresiyle art arda eklenmiş ilk satırın, hücrelerin içeriğini gösteren görünür.
  4. Hata ayıklama durdurmak ve Visual Studio. NET'in dönmek için ÜST KRKT + F5 tuşlarına basın.
Back to the top

SORUN GİDERME

Iki dil ile çalışırken, sözdizimi karıştırmayın emin olun. Visual C# çok belirli; hata iletileri her zaman olarak komut istemi veya hata iletileri Viusal Basic 2005 veya Visual Basic. NET'te olarak kolay değildir. Bu nedenle, "Dil eşdeğerleri" yer işareti isteyebilirsiniz bu sorunlar giderilir .NET Framework yazılım geliştirme seti bölümüne. Aşağıdaki Yardım konusu MS Yardımı'nda bulun:
MS:help://MS.VCC/MS.MSDNVS/vsintro7/HTML/vxgrfLanguageEquivalents.htm
Back to the top
Referanslar
Daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:Back to the top

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 816175 - Son İnceleme: 01/17/2015 06:53:26 - Düzeltme: 2.5

  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • kbnosurvey kbarchive kbmt kbhowtomaster kbinterop kbappdev kbhowto KB816175 KbMttr
Geri bildirim