Как управлять многоязыковой компоненты решения в Visual C#

Переводы статьи Переводы статьи
Код статьи: 816175 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается управление многоязыковой поддержки компонент решения с помощью Visual C#.NET или Visual C# 2005.

Дополнительная информация

Требования

В следующем списке представлены Рекомендуемое оборудование программное обеспечение сетевой инфраструктуры и пакетов обновления, которые необходимы:
  • Одна из следующих операционных систем:
    • 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 или более поздней версии с "Борей" База данных.
В данной статье предполагается, что вы знакомы с следующие разделы:
  • Наследование реализации
  • Windows Forms
  • ADO.NET
К началу статьи TOP

Управление многоязычных решений компонента

В данной статье описывается, как создать решение, содержащее следующие три проекта:
  • Приложения Windows Visual C#, которое использует методы в Другие два проекта классов.
  • Visual Basic.NET или библиотеки Visual Basic 2005 проект, который обращается к База данных «Борей» и возвращает набор данных.
  • Проект библиотеки классов Visual C#, который содержит метод, принимает ArrayList объекты типа string и возвращает одну строку, является объединенные с помощью экземпляра Класс StringBuilder класс.
Для создания оболочки Windows Forms Visual C# приложения в решение, выполните следующие действия:
  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. Нажмите кнопку Новый проект, а затем нажмите кнопкуПроекты Visual C#

    Примечание В Visual Studio 2005 нажмите кнопку Visual C#.
  4. В группе Шаблоны, нажмите кнопкуПриложение Windows.
  5. В Имя поле типаHowToMultiComp, а затем нажмите кнопкуОК.
  6. При создании проекта, убедитесь, что отображается обозреватель решений. Если решение Обозреватель не отображается, нажмите клавишу СОЧЕТАНИЕ КЛАВИШ CTRL + ALT + L.

    Теперь у вас есть оболочка Visual Приложение Windows Forms C# в решении с именем HowToMultiComp.
Для создания многоязыковой компоненты решения, добавление визуального C# Библиотеки классов, а затем добавьте Visual Basic.NET или классов Visual Basic 2005 Библиотека.

Сначала необходимо добавить в библиотеку классов Visual Basic. Чтобы добавить Библиотеки классов Visual Basic, выполните следующие действия:
  1. В обозревателе решений щелкните правой кнопкой мышиРешение «howtomulticomp», выберите пункт Добавить, и Нажмите кнопку Новый проект.
  2. Нажмите кнопку Проекты Visual Basic.

    Примечание В Visual Studio 2005 нажмите кнопку Visual Basic.
  3. В группе Шаблоны, нажмите кнопкуБиблиотека классов.
  4. В Имя поле типаNWClassLib, а затем нажмите кнопку ОК.

    В Visual Basic.NET или библиотеки классов Visual Basic 2005 добавлен решение.

    Файл Class1.vb будет открыт в редакторе окно.
  5. Добавить два Импортируемые пространства имен директивы в верхней получить сокращенный доступ классы в следующих пространств имен:
    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
    
Библиотека Visual C# класс. Чтобы сделать это, выполните следующие действия.
  1. В обозревателе решений щелкните правой кнопкой мышиРешение «howtomulticomp», выберите пункт Добавить, и Нажмите кнопку Новый проект.
  2. Нажмите кнопку Проекты Visual C#.

    Примечание В Visual Studio 2005 нажмите кнопку Visual C#.
  3. В группе Шаблоны, нажмите кнопкуБиблиотека классов.
  4. В Имя поле типаSBClassLib, а затем нажмите кнопку ОК.

    Класс библиотека Visual C# добавляется в решение.

    Класс Class1.cs открыт в окне редактора.
  5. Добавьте следующие строки с помощью директивы в верхней части примера кода Class1.cs для получения сокращенный доступ к классам в System.Text пространство имен и System.Collections пространство имен:
    using System.Text;
    using System.Collections;
  6. Добавьте следующий код в открытый класс Class1, который использует экземпляр Класс StringBuilder класс для сцепления одну строку, которая содержится в 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 Forms приложения, выполните следующие действия:
  1. Добавление ссылок на два компонента библиотек классов выполните следующие действия.
    1. В обозревателе решений щелкните правой кнопкой мыши Ссылки Из списка HowToMultiComp, и Нажмите кнопку Добавить ссылку.
    2. В группе Проекты, нажмите и удерживайте очередь CTRL раздел, откройте NWClassLib, а затем нажмите кнопку SBClassLib.
    3. Выбранные проекты и нажмите кнопку Выберите.
    4. Если оба проекта отображаются в Выбранные Компоненты Выберите ОК.

      Проекты в настоящее время в списке ссылок для окна приложения.
  2. Form1.cs открыт в режиме конструктора. Если файл Form1.cs в еще не открыть, дважды щелкните значок Form1.cs в решении Обозреватель.
  3. Нажмите сочетание клавиш CTRL + ALT + X, чтобы открыть панель инструментов, а затем нажмите Windows Формы.
  4. Перетащите кнопку в форму и нажмите клавишу F4 Чтобы открыть страницу свойств для кнопки.
  5. Изменение Текст значение свойстваПоказать продукты.
  6. Добавьте другую кнопку, а затем измените ТекстСвойство Построить строку.
  7. Перетаскивание DataGrid элемент управления в форму и затем поместите его под кнопками. Изменение размераDataGrid элемент управления таким образом, чтобы он заполнял оставшаяся область на форма.
  8. Дважды щелкните значок Показать продукты. Visual Studio.NET автоматически создает Нажмите кнопку обработчик событий.
  9. Добавьте следующий код: Нажмите кнопку обработчик событий:
    dataGrid1.DataSource = NWClassLib.Class1.GetProducts().Tables[0];
    Этот код устанавливает Источник данных свойства элемента DataGrid для Набор данных который был возвращен GetProducts метод в библиотеке классов.
  10. Для создания Второй Нажмите кнопку обработчик событий, дважды щелкните значок Построить строку.
  11. Следующий код принимает содержимое каждой ячейки в вверх к ячейке 7 первой строки элемента управления DataGrid, а затем добавляет содержимое ArrayList. В ArrayList затем передается SBClassLibrary метод, который возвращает строку, которая отображается в MessageBox функция. Экземпляр класса не является необходимым, поскольку метод был объявлен ранее при помощи ключевого слова static.

    Добавьте следующие строки код для Нажмите кнопку обработчик событий:
    ArrayList arl = new ArrayList();
    for(int i = 0; i <= 8; i++)
    	arl.Add(dataGrid1[0, i].ToString());
    MessageBox.Show(SBClassLib.Class1.BuildString(arl));
К началу статьи TOP

Полный пример кода

Полный код со списком (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
К началу статьи TOP

Полный код со списком (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();
		}
	}
}
К началу статьи TOP

Полный код со списком (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 Forms записывает код, реализующий все действия, выполненные путем добавления элементов управления. Дополнительные сведения о конструкторе Windows Forms в Visual C# 2005 посетите следующий веб-узел корпорации Майкрософт:
http://msdn2.Microsoft.com/en-us/library/ms173077.aspx
К началу статьи TOP

Убедитесь, что он работает

  1. Нажмите клавишу F5 для запуска приложения в режиме отладки.
  2. Когда появится форма, нажмите кнопку Получить Продукты.

    В DataGrid Отображает все продукты из продуктов "Борей" Таблица.
  3. Нажмите кнопку Построить строку.

    Появится окно сообщения, сквозь объединенное содержимое ячейки первой строки Ячейка с индексом, 7 (с нуля).
  4. Нажмите SHIFT + F5, чтобы остановить отладку и вернуться в Visual Studio.NET.
К началу статьи TOP

Устранение неполадок

Убедитесь, что не путайте синтаксис при работе Работа с двумя языками. Visual C# очень конкретной и ошибки сообщения не всегда как предлагать или такой интуитивно понятной как сообщения об ошибках в Visual Basic.NET или Viusal Basic 2005. Таким образом может потребоваться сделать закладку «Языковые эквиваленты» раздел.NET Framework средств разработки программного обеспечения для устранения этих неполадок трудности. Найдите следующий раздел справки в MS Справка:
MS:Help: / / MS.VCC/MS.MSDNVS/vsintro7/html/vxgrfLanguageEquivalents.htm
К началу страницы

Ссылки

Для получения дополнительных сведений посетите следующий веб-узла MSDN веб-узел:
Создание решения Mutli проект
http://msdn2.Microsoft.com/en-us/library/aa265251 (VS.60) .aspx
К началу страницы

Свойства

Код статьи: 816175 - Последний отзыв: 14 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Ключевые слова: 
kbhowtomaster kbinterop kbappdev kbhowto kbmt KB816175 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: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