วิธีการจัดการโซลูชันองค์ประกอบภาษาต่าง ๆ ใน Visual c#

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 816175 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายวิธีการจัดการโซลูชันองค์ประกอบภาษาต่าง ๆ โดยใช้ Visual .NET c# หรือ Visual 2005 c#

ข้อมูลเพิ่มเติม

ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่จำเป็นต้องใช้:
  • หนึ่งของระบบปฏิบัติการต่อไปนี้:
    • Microsoft Windows 2000 Professional (หรือเซิร์ฟเวอร์)
    • Microsoft Windows XP Professional ด้วย.NET Framework ที่ติดตั้ง
    • Microsoft Windows Server 2003
  • Microsoft Visual Studio .NET หรือ Microsoft Visual Studio 2005
  • Microsoft SQL Server รุ่น 7.0 หรือรุ่นใหม่กว่า ด้วย Northwind ฐานข้อมูล
บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:
  • สิ่งที่สืบทอดการใช้งาน
  • แบบฟอร์ม windows
  • ado.net
กลับสู่ด้านบน

จัดการโซลูชันการส่วนประกอบของภาษาต่าง ๆ

บทความนี้อธิบายวิธีการสร้างโซลูชันที่ประกอบด้วยสามโครงการต่อไปนี้:
  • โปรแกรมประยุกต์ Windows c# แสดงผลที่ใช้วิธีการในคลาสที่สองโครงการอื่น
  • โครงการการ Visual Basic .NET หรือไลบรารี 2005 ของ Visual Basic ที่เข้าถึงฐานข้อมูล NorthWind และส่งกลับค่าเป็นชุดข้อมูล
  • ไลบรา Visual c# คลารีโครงการที่มีวิธีการที่ปฏิบัติการArrayListสตริงที่วัตถุและกลับ string เดียวนั่นคือ concatenated โดยใช้อินสแตนซ์ของการStringBuilderคลาสที่
เมื่อต้องการสร้างเชลล์ของเป็น Visual c# Windows Forms application ในการแก้ไข ทำตามขั้นตอนเหล่านี้:
  1. คลิกเริ่มการทำงานชี้ไปที่โปรแกรมแล้ว ชี้ไปยังอย่างใดอย่างหนึ่งMicrosoft Visual Studio .NET(สำหรับ Visual Studio .NET 2002),Microsoft Visual Studio .NET 2003(สำหรับ Microsoft Visual Studio .NET 2003), หรือMicrosoft Visual Studio 2005(สำหรับ Microsoft Visual Studio 2005)
  2. คลิกMicrosoft Visual Studio .NETหรือMicrosoft Visual Studio 2005.
  3. คลิกโครงการใหม่แล้ว คลิกแสดงโครงการ c#

    หมายเหตุ:ใน Visual Studio 2005 คลิกvisual c#.
  4. ภายใต้แม่แบบคลิกแอพลิเคชันของ windows.
  5. ในการชื่อ:ฟิลด์ ชนิดHowToMultiCompแล้ว คลิกตกลง.
  6. เมื่อมีสร้างโครงการ ตรวจสอบให้แน่ใจว่า Explorer โซลูชันการมองเห็นได้ ถ้ามองไม่เห็น Explorer โซลูชัน กด CTRL + ALT + L

    ขณะนี้คุณสามารถเชลล์ของแอพลิเคชันของ Visual c# Windows Forms ในการแก้ไขชื่อ HowToMultiComp
เมื่อต้องการสร้างการแก้ไขคอมโพเนนต์ภาษาต่าง ๆ เพิ่มไลบราแบบ Visual c# คลารี และเพิ่ม Visual Basic .NET หรือไลบรารีคลาสของ Visual Basic 2005 แล้ว

ไลบรารีคลาส Visual Basic ต้องเพิ่มก่อน เมื่อต้องการเพิ่มไลบรารีคลาส Visual Basic ดำเนินการดังต่อไปนี้:
  1. คลิกขวาใน Explorer โซลูชันวิธีการแก้ไขปัญหา 'HowToMultiComp'ชี้ไปที่addแล้ว คลิกโครงการใหม่.
  2. คลิกโครงการ visual Basic.

    หมายเหตุ:ใน Visual Studio 2005 คลิกvisual Basic.
  3. ภายใต้แม่แบบคลิกไลบรารีคลาส.
  4. ในการชื่อ:กล่อง ชนิดNWClassLibแล้ว คลิกตกลง.

    Visual Basic .NET หรือไลบรารีคลาส 2005 ของ Visual Basic ถูกเพิ่มเข้าไปในการแก้ไขปัญหา

    Class1.vbขณะนี้เปิดอยู่ในตัวแก้ไขหน้าต่าง
  5. เพิ่มสองนำเข้าdirectives ที่ด้านบนเพื่อเข้า shorthand จุดแสดงระดับชั้นใน namespaces ที่ต่อไปนี้:
    Imports System.Data
    Imports System.Data.SqlClient
  6. เมื่อต้องการสร้าง และกรอกข้อมูลแบบชุดข้อมูลมีข้อมูลจากตารางผลิตภัณฑ์ Northwind เพิ่มที่วิธีการต่อไปนี้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;integrated security=sspi"))
    	sqlDS.Fill(ds)
    	return ds
    End Function
    
สร้างไลบรารีคลาส c# แสดงผล โดยให้ทำตามขั้นตอนต่อไปนี้::
  1. คลิกขวาใน Explorer โซลูชันวิธีการแก้ไขปัญหา 'HowToMultiComp'ชี้ไปที่addแล้ว คลิกโครงการใหม่.
  2. คลิกแสดงโครงการ c#.

    หมายเหตุ:ใน Visual Studio 2005 คลิกvisual c#.
  3. ภายใต้แม่แบบคลิกไลบรารีคลาส.
  4. ในการชื่อ:กล่อง ชนิดSBClassLibแล้ว คลิกตกลง.

    เพิ่มไลบ Visual c# คลารารีเพื่อการแก้ไขปัญหา

    Class1.csขณะนี้เปิดอยู่ในหน้าต่างตัวแก้ไข
  5. เพิ่มต่อไปนี้การใช้directives ด้านบนของตัวอย่างของรหัส Class1.cs เข้า shorthand dot แสดงการเข้าถึงระดับชั้นในนั้นSystem.Textnamespace และSystem.Collectionsnamespace:
    using System.Text;
    using System.Collections;
  6. เพิ่มรหัสต่อไปนี้ในคลาสาธารณะ Class1ซึ่งใช้อินสแตนซ์ของการStringBuilderคลาสของการ concatenate สตริงที่เดียวที่มีอยู่ในการArrayList:
    public static String BuildString(ArrayList arlStrings)
    {
    	StringBuilder sb = new StringBuilder();
    	
    	foreach(String s in arlStrings)
    	{
    			sb.Append(s);
    			sb.Append(", ");
    	}
    	return sb.ToString();
    }
ขณะนี้คุณสามารถสร้างโปรแกรมประยุกต์ Visual c# Windows Forms ที่จะคอมโพเนนต์นี้ เมื่อต้องการสร้างของ Visual c# Windows แบบฟอร์มแอพลิเคชัน ทำตามขั้นตอนเหล่านี้:
  1. เมื่อต้องการเพิ่มการอ้างอิงไปยังคอมโพเนนต์ของไลบรารีคลาสสอง ดำเนินการดังต่อไปนี้:
    1. คลิกขวาใน Explorer โซลูชันอ้างอิง:ภายใต้HowToMultiCompแล้ว คลิกเพิ่มการอ้างอิง.
    2. ภายใต้โครงการกด ค้างไว้ctrlคลิกคีย์NWClassLibแล้ว คลิกSBClassLib.
    3. มีโครงการทั้งเลือก คลิกเลือก.
    4. เมื่อโครงการทั้งสองปรากฏในนั้นคอมโพเนนต์ที่เลือกกล่อง คลิกตกลง.

      โครงการในขณะนี้อยู่ภายใต้การอ้างอิงสำหรับแอพลิเคชันของหน้าต่าง
  2. Form1.cs ถูกเปิดในมุมมองออกแบบ ถ้า Form1.cs ในการคลิกสองครั้งที่ไม่ได้เปิดForm1.csในโซลูชัน Explorer
  3. กด CTRL + ALT + X เพื่อเปิดกล่องเครื่องมือ แล้ว คลิกWindows Forms.
  4. ลากปุ่มลงบนแบบฟอร์ม และจากนั้น กด F4 เพื่อเข้าถึงหน้าคุณสมบัติสำหรับปุ่ม
  5. การเปลี่ยนแปลงนั้นข้อความตั้งค่าคุณสมบัติแสดงผลิตภัณฑ์.
  6. เพิ่มปุ่มอื่น และเปลี่ยนแปลงแล้ว นี้ข้อความคุณสมบัติการสร้างสตริงการ.
  7. ลากตัวDataGridควบคุมลงบนแบบฟอร์ม และปล่อยไว้ด้านล่างของปุ่ม ปรับขนาดDataGridควบคุมการเพื่อให้โปรแกรมกรอกข้อมูลพื้นที่ที่เลือกบนแบบฟอร์ม
  8. คลิกสองครั้งแสดงผลิตภัณฑ์. visual Studio .NET สร้างโดยอัตโนมัติเป็นคลิกตัวจัดการเหตุการณ์
  9. เพิ่มรหัสต่อไปนี้ในการคลิกตัวจัดการเหตุการณ์:
    dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
    รหัสนี้ตั้งค่านี้แหล่งข้อมูลคุณสมบัตินี้DataGridไปชุดข้อมูลที่ถูกส่งกลับโดยGetProductsวิธีการในไลบรารีคลาส
  10. เมื่อต้องการสร้างเป็นวินาทีคลิกตัวจัดการเหตุการณ์ คลิกสองครั้งสร้างสตริงการ.
  11. ใช้เนื้อหาของแต่ละเซลล์ในแถวแรกของ DataGrid หมายถึงเซลล์ 7 รหัสต่อไปนี้แล้ว เพิ่มเนื้อหาไปยังArrayList. กระบวนการArrayListจากนั้นส่งผ่านไปยังSBClassLibraryวิธี ซึ่งส่งกลับค่าสายอักขระที่ปรากฏในตัวMessageBoxฟังก์ชัน อินสแตนซ์ของคลาไม่จำเป็น เนื่องจากวิธีการถูกประกาศก่อนหน้านี้ โดยใช้คำสำคัญแบบคงที่

    เพิ่มรหัสต่อไปนี้ไปคลิกตัวจัดการเหตุการณ์:
    ArrayList arl = new ArrayList();
    for(int i = 0; i <= 8; i++)
    	arl.Add(dataGrid1[0, i].ToString());
    MessageBox.Show(SBClassLib.Class1.BuildString(arl));
กลับสู่ด้านบน

รายการของรหัสการทำให้เสร็จสมบูรณ์

รหัส (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
กลับสู่ด้านบน

รหัส (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();
		}
	}
}
กลับสู่ด้านบน

รหัส (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));
		}
	}
}
หมายเหตุ:รหัสควรเปลี่ยนแปลงใน Visual Studio 2005 เมื่อคุณสร้างโครงการ Windows Forms, Visual c# เพิ่มฟอร์มหนึ่งโครงการ โดยค่าเริ่มต้น แบบฟอร์มนี้เป็นชื่อ Form1 แฟ้มที่สองที่แสดงแบบฟอร์มจะเรียกว่า Form1.cs และ Form1.designer.cs คุณสามารถเขียนรหัสของคุณใน Form1.cs แฟ้ม Sesigner.cs คือ ซึ่งผู้ออกแบบฟอร์ม Windows เขียนรหัสที่ใช้การดำเนินการทั้งหมดที่ คุณดำเนินการ โดยการเพิ่มตัวควบคุม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบฟอร์ม Windows ใน Visual 2005 c# แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://msdn2.microsoft.com/en-us/library/ms173077.aspx
กลับสู่ด้านบน

ตรวจสอบทำว่า งาน

  1. กด F5 เพื่อเรียกใช้โปรแกรมประยุกต์ในโหมดการตรวจแก้จุดบกพร่อง
  2. เมื่อปรากฏในแบบฟอร์ม คลิกเรียกดูผลิตภัณฑ์.

    กระบวนการDataGridแสดงผลิตภัณฑ์ทั้งหมดที่อยู่จากตารางผลิตภัณฑ์ Northwind
  3. คลิกสร้างสตริงการ.

    กล่องข้อความปรากฏขึ้นและแสดงเนื้อหาของเซลล์ของแถวแรก concatenated ผ่านเซลล์ด้วยดัชนี 7 (zero-based)
  4. กด SHIFT + F5 เพื่อหยุดการดีบัก และกลับไปยัง Visual Studio .NET
กลับสู่ด้านบน

การแก้ไขปัญหา

ตรวจสอบให้แน่ใจว่า คุณไม่ confuse ไวยากรณ์เมื่อคุณกำลังทำงานกับภาษาที่สอง visual c# เป็นอย่างยิ่งเฉพาะ และข้อผิดพลาดไม่เสมอว่าพร้อมต์ หรือ intuitive ข้อผิดพลาด ใน Visual Basic .NET หรือ Viusal Basic 2005 ดังนั้น คุณอาจต้องการที่คั่นหน้าเทียบ "ภาษาเท่า" ส่วนของชุดการพัฒนาซอฟต์แวร์.NET Framework การแก้ไขปัญหาเหล่านี้ได้ ค้นหาหัวข้อวิธีใช้ต่อไปนี้ในวิธีใช้ MS:
ms:help://MS.VCC/MS.MSDNVS/vsintro7/html/vxgrfLanguageEquivalents.htm
กลับสู่ด้านบน

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้ของ MSDN::
การสร้างโซลูชันการ Mutli-โครงการ
.aspx http://msdn2.microsoft.com/en-us/library/aa265251 (VS.60)
กลับสู่ด้านบน

คุณสมบัติ

หมายเลขบทความ (Article ID): 816175 - รีวิวครั้งสุดท้าย: 14 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbhowtomaster kbinterop kbappdev kbhowto kbmt KB816175 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:816175

ให้ข้อเสนอแนะ

 

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