Как привязать массив объектов в форму Windows Forms с помощью Visual C#

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 313635
Аннотация
В данном пошаговом руководстве показано, как привязать массив объектов в форму Windows Forms. Пример состоит из формы Windows Forms с три текстовых поля для отображения свойств объекта и четыре кнопки для поиска в массиве.

back to the top

Требования

Следующие пункты описывают оборудования, программного обеспечения, networkinfrastructure, навыков, знаний и пакеты обновления, которые необходимы:
  • Microsoft Visual C# .NET или Microsoft Visual C# 2005 г.
  • Среднего уровня понимания концепций программирования C#
back to the top

Разработка класса

Класс, который будет привязано к форме должен иметь доступа к свойству. Любое свойство, которое будет привязано должен иметь методы Свойств Set и Get свойства . Класс, используемый для примера в этой статье имеет три члена (только один показан здесь.) Параметризованный конструктор также были предоставлены, но не является обязательным требованием.
public class guitar{    private string make;    private string model;    private short year;        public guitar()    {    }    public guitar(string make, string model, short year)    {        make=Make;        model=Model;        year=Year;    }    public string Make     {	get 	{             return make; 	}	set 	{            make = value; 	}}
back to the top

Добавить в массив экземпляров класса

Чтобы создать экземпляры и добавить их в массиве, выполните следующие действия:
  1. Объявите массив.
  2. Создать экземпляры класса и добавить их в массив.
private guitar[] arr=new guitar[3];   arr[0] = new guitar("Gibson", "Les Paul", 1958);   arr[1] = new guitar("Fender", "Jazz Bass", 1964);   arr[2] = new guitar("Guild", "Bluesbird", 1971);				
back to the top

Свойства объекта привязки к элементам управления Windows Forms

После заполнения массива элементов управления Windows Forms можно привязать отдельные свойства объекта. Чтобы сделать это, выполните следующие действия.
  1. Вызовите метод Add свойства DataBindings текстовое поле .
  2. Передайте свойство элемента управления, который должен быть связан, имя массива, а свойство объекта.
textBox1.DataBindings.Add("Text", arr, "make");textBox2.DataBindings.Add("Text", arr, "model");textBox3.DataBindings.Add("Text", arr, "year");				

back to the top

Существует возможность просматривать массив

Для поиска в массиве можно использовать CurrencyManager . Чтобы сделать это, поставить CurrencyManagerBindingContext формы (в данном случае массива).
private CurrencyManager currencyManager=null;currencyManager = (CurrencyManager)this.BindingContext[arr];				
Класс CurrencyManager имеет свойство позицию , которую можно изменять для выполнения итерации по элементам массива. Путем добавления или вычитания из текущего значения позиции, можно отобразить различные члены массива в форме.
//Move forward one element.currencyManager.Position++;//Move back one element.currencyManager.Position--;//Move to the beginning.currencyManager.Position = 0;//Move to the end.currencyManager.Position = arr.Length - 1;				
back to the top

Пример с пошаговыми инструкциями

  1. В Visual C# .NET или Visual C# 2005 создайте новый проект приложение Windows. По умолчанию будет создана форма Form1.
  2. Добавьте класс в проект.
  3. Замените код в файле Form1.cs следующим кодом:
    public class guitar{	private string make;	private string model;	private short year;		public guitar()	{	}	public guitar(string Make, string Model, short Year)	{	    make=Make;	    model=Model;	    year=Year;	}	public string Make 	{		get 		{ 			return make; 		}		set 		{			make = value; 		}	}		public string Model 	{		get 		{ 			return model; 		}		set 		{			model = value; 		}	}	public short Year 	{		get 		{ 			return year; 		}		set 		{			year = value; 		}	}}					
    Примечание. Код должен быть изменен в Visual Studio 2005. При создании проекта Windows Forms, C# добавляет одну форму в проект по умолчанию. Эта форма с именем Form1. Два файла, которые представляют собой формы с именем Form1.cs и Form1.designer.cs. Напишите код в файле Form1.cs. В файле designer.cs находится где конструктор Windows Forms записывает код, реализующий все действия, выполненные путем перетаскивания и удаление элементов управления из Toolbox.For сведения о конструкторе Windows Forms в Visual C# 2005, посетите следующий веб-узел корпорации Майкрософт:
  4. Закройте окно программы Form1.cs и переключитесь в конструкторе форм.
  5. Добавьте в форму Form1 три текстовых поля и расположить элементы управления по горизонтали.
  6. Добавьте в форму Form1 четыре кнопки и расположить элементы управления по горизонтали.
  7. Измените свойство Text кнопки Button1 к следующему.
  8. Измените свойство Text элемента Button2 в предыдущем.
  9. Измените свойство Text Button3 на первый.
  10. Измените свойство Text Button4 до последнего.
  11. Добавьте следующий код в класс Form1 :
    private guitar[] arr=new guitar[3];	private CurrencyManager currencyManager=null;						
  12. Переключитесь в конструктор формы, щелкните правой кнопкой мыши форму и выберите команду Свойства.
  13. Щелкните значок события , а затем дважды щелкните значок события Load для добавления в код события Form1_Load .
  14. Добавьте следующий код для события Form1_Load :
    arr[0] = new guitar("Gibson", "Les Paul", 1958);arr[1] = new guitar("Fender", "Jazz Bass", 1964);arr[2] = new guitar("Guild", "Bluesbird", 1971);				currencyManager = (CurrencyManager)this.BindingContext[arr];	textBox1.DataBindings.Add("Text", arr, "make");textBox2.DataBindings.Add("Text", arr, "model");textBox3.DataBindings.Add("Text", arr, "year");					
  15. Переключитесь в просмотр конструктора формы.
  16. Дважды щелкните Далее и добавьте следующий код в событие button1_Click :
    currencyManager.Position++;					
  17. Дважды щелкните Назад и добавьте в событие button2_Click следующий код:
    currencyManager.Position--;					
  18. Дважды щелкните первый и добавьте следующий код к событию button3_Click .
    currencyManager.Position = 0;					
  19. Дважды щелкните последнюю и добавьте следующий код к событию button4_Click .
    currencyManager.Position = arr.Length - 1;					
  20. Постройте и запустите проект.
  21. Нажмите кнопки для отображения элементов другого массива. Обратите внимание, можно редактировать значения объектов при необходимости.
back to the top
Ссылки
Дополнительные сведения приведены в разделе «Потребителям из данных в Windows Forms» в Visual Studio .NET интерактивной справки.

back to the top

Свойства

Номер статьи: 313635 — последний просмотр: 06/12/2016 05:49:00 — редакция: 5.0

Microsoft Visual C# 2005 Express Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbhowtomaster kbmt KB313635 KbMtru
Отзывы и предложения