Добавление элементов управления Cell в рабочие листы

Вступление

В настоящее время Aspose.Cells.GridDesktop поддерживает добавление трех типов элементов управления ячейками, включая следующие:

  • Кнопка
  • Флажок
  • Поле со списком

Все эти элементы управления являются производными от абстрактного класса,Сотовый контрольКаждый рабочий лист содержит наборЭлементы управления. Можно добавить новые элементы управления ячейками, а к существующим можно получить доступ с помощью этогоЭлементы управлениясбор легко.

**ВАЖНЫЙ:**Если вы хотите добавить элементы управления ячейками во все ячейки столбца вместо добавления по одному, вы можете обратиться кУправление элементами управления Cell в столбцах.

Добавление кнопки

Чтобы добавить кнопку на лист с помощью Aspose.Cells.GridDesktop, выполните следующие действия:

  • Добавьте элемент управления Aspose.Cells.GridDesktop в свойФорма
  • Доступ к любому желаемомуРабочий лист
  • ДобавлятьКнопкакЭлементы управленияколлекцияРабочий лист
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing the worksheet of the Grid that is currently active
Worksheet sheet = gridDesktop1.GetActiveWorksheet();
// Accessing the location of the cell that is currently in focus
CellLocation cl = sheet.GetFocusedCellLocation();
// Adding button to the Controls collection of the Worksheet
Aspose.Cells.GridDesktop.Button button = sheet.Controls.AddButton(cl.Row, cl.Column, 80, 20, "Button");

При добавленииКнопка, мы можем указать расположение ячейки (где ее отображать), ширину и высоту и заголовок кнопки.

Обработка событий кнопки

Мы обсуждали добавлениеКнопкаконтроль надРабочий листно в чем преимущество наличия кнопки на листе, если мы не можем ее использовать. Итак, здесь возникает необходимость обработки событий кнопки.

Чтобы справиться сНажмитесобытиеКнопкауправления, Aspose.Cells.GridDesktop предоставляетЯчейкаКнопкаНажмитесобытие, которое разработчики должны реализовать в соответствии со своими потребностями. Например, мы только что отобразили сообщение при нажатии кнопки, как показано ниже:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Implenting CellButtonClick event handler
private void gridDesktop1_CellButtonClick(object sender, CellControlEventArgs e)
{
// Displaying the message when button is clicked
MessageBox.Show("Button is clicked.");
}

Указание фонового изображения для элемента управления «Кнопка»

Мы можем установить фоновое изображение/изображение для кнопки с ее меткой/текстом, как показано в коде ниже:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = Utils.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Set the image.
Image image = Image.FromFile(dataDir + @"AsposeLogo.jpg");
button.Image = image;

ВАЖНЫЙ:Все события элементов управления ячейкой содержатCellControlEventArgsаргумент, предоставляющий номера строк и столбцов ячейки, содержащей элемент управления ячейкой (событие которого запускается).

Добавление флажка

Чтобы добавить флажок на лист с помощью Aspose.Cells.GridDesktop, выполните следующие действия:

  • Добавьте элемент управления Aspose.Cells.GridDesktop в свойФорма
  • Доступ к любому желаемомуРабочий лист
  • ДобавлятьФлажоккЭлементы управленияколлекцияРабочий лист
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing the worksheet of the Grid that is currently active
Worksheet sheet = gridDesktop1.GetActiveWorksheet();
// Accessing the location of the cell that is currently in focus
CellLocation cl = sheet.GetFocusedCellLocation();
// Adding checkbox to the Controls collection of the Worksheet
sheet.Controls.AddCheckBox(cl.Row, cl.Column, true);

При добавленииФлажок, мы можем указать расположение ячейки (где ее отображать) и состояние флажка.

Обработка событий CheckBox

Aspose.Cells.GridDesktop предоставляетCellCheckedChangedсобытие, которое срабатывает, когдаПровереносостояние флажка изменилось. Разработчики могут обрабатывать это событие в соответствии со своими требованиями. Например, мы только что отобразили сообщение, чтобы показатьПровереносостояние флажка в коде ниже:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Implenting CellCheckedChanged event handler
private void gridDesktop1_CellCheckedChanged(object sender, CellControlEventArgs e)
{
// Getting the reference of the CheckBox control whose event is triggered
Aspose.Cells.GridDesktop.CheckBox check = (Aspose.Cells.GridDesktop.CheckBox)gridDesktop1.GetActiveWorksheet().Controls[e.Row, e.Column];
// Displaying the message when the Checked state of CheckBox is changed
MessageBox.Show("Current state of CheckBox is " + check.Checked);
}

Добавление поля со списком

Чтобы добавить поле со списком на лист с помощью Aspose.Cells.GridDesktop , выполните следующие действия:

  • Добавьте элемент управления Aspose.Cells.GridDesktop в свойФорма
  • Доступ к любому желаемомуРабочий лист
  • Создайте массив элементов (или значений), которые будут добавлены вПоле со списком
  • ДобавлятьПоле со спискомкЭлементы управленияколлекцияРабочий листуказав местоположение ячейки (где будет отображаться поле со списком) и элементы/значения, которые будут отображаться при нажатии на поле со списком
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing the worksheet of the Grid that is currently active
Worksheet sheet = gridDesktop1.GetActiveWorksheet();
// Accessing the location of the cell that is currently in focus
CellLocation cl = sheet.GetFocusedCellLocation();
// Creating an array of items or values that will be added to combobox
string[] items = new string[3];
items[0] = "Aspose";
items[1] = "Aspose.Grid";
items[2] = "Aspose.Grid.Desktop";
// Adding combobox to the Controls collection of the Worksheet
sheet.Controls.AddComboBox(cl.Row, cl.Column, items);

Обработка событий ComboBox

Aspose.Cells.GridDesktop предоставляетCellSelectedIndexChangedсобытие, которое срабатывает, когдаВыбранный индексвыпадающего списка изменен. Разработчики могут обрабатывать это событие по своему желанию. Например, мы только что отобразили сообщение, чтобы показатьВыбранный элементиз выпадающего списка:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Implenting CellSelectedIndexChanged event handler
private void gridDesktop1_CellSelectedIndexChanged(object sender, CellComboBoxEventArgs e)
{
// Getting the reference of the ComboBox control whose event is triggered
Aspose.Cells.GridDesktop.ComboBox combo =
(Aspose.Cells.GridDesktop.ComboBox)gridDesktop1.GetActiveWorksheet().Controls[e.Row, e.Column];
// Displaying the message when the Selected Index of ComboBox is changed
MessageBox.Show(combo.Items[combo.SelectedIndex].ToString());
}