Hinzufügen von Cell-Steuerelementen in Arbeitsblättern

Einführung

Derzeit unterstützt Aspose.Cells.GridDesktop das Hinzufügen von drei Arten von Zellsteuerelementen, darunter die folgenden:

  • Knopf
  • Kontrollkästchen
  • Kombinationsfeld

Alle diese Steuerelemente werden von einer abstrakten Klasse abgeleitet,CellControlJedes Arbeitsblatt enthält eine Sammlung vonKontrollen. Über diese können neue Zellensteuerungen hinzugefügt und auf vorhandene zugegriffen werdenKontrollenAbholung problemlos.

**WICHTIG:**Wenn Sie allen Zellen einer Spalte Zellsteuerelemente hinzufügen möchten, anstatt sie einzeln hinzuzufügen, können Sie auf verweisenVerwalten von Cell-Steuerelementen in Spalten.

Schaltfläche hinzufügen

Um dem Arbeitsblatt mit Aspose.Cells.GridDesktop eine Schaltfläche hinzuzufügen, führen Sie bitte die folgenden Schritte aus:

  • Fügen Sie das Aspose.Cells.GridDesktop-Steuerelement zu Ihrer hinzuBilden
  • Greifen Sie beliebig zuArbeitsblatt
  • AddierenKnopfzumKontrollenSammlung derArbeitsblatt
// 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");

Beim HinzufügenKnopf, können wir die Position der Zelle (wo sie angezeigt werden soll), Breite und Höhe sowie die Beschriftung der Schaltfläche angeben.

Ereignisbehandlung der Schaltfläche

Wir haben über das Hinzufügen gesprochenKnopfKontrolle an dieArbeitsblattAber was ist der Vorteil, nur eine Schaltfläche im Arbeitsblatt zu haben, wenn wir sie nicht verwenden können? Hier kommt also die Notwendigkeit der Ereignisbehandlung der Schaltfläche.

Um die zu handhabenKlickenVeranstaltung derKnopfSteuerung, Aspose.Cells.GridDesktop bietetCellButtonClickEreignis, das von den Entwicklern nach ihren Bedürfnissen implementiert werden sollte. Zum Beispiel haben wir gerade eine Nachricht angezeigt, wenn auf die Schaltfläche geklickt wird, wie unten gezeigt:

// 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.");
}

Festlegen eines Hintergrundbilds für das Schaltflächen-Steuerelement

Wir können Hintergrundbild/Bild für das Schaltflächensteuerelement mit seiner Beschriftung/Text festlegen, wie im folgenden Code gezeigt:

// 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;

WICHTIG:Alle Ereignisse von Zellsteuerungen enthalten aCellControlEventArgsArgument, das die Zeilen- und Spaltennummern der Zelle bereitstellt, die das Zellsteuerelement enthält (dessen Ereignis ausgelöst wird).

Kontrollkästchen hinzufügen

Um ein Kontrollkästchen mit Aspose.Cells.GridDesktop in das Arbeitsblatt einzufügen, führen Sie bitte die folgenden Schritte aus:

  • Fügen Sie das Aspose.Cells.GridDesktop-Steuerelement zu Ihrer hinzuBilden
  • Greifen Sie beliebig zuArbeitsblatt
  • AddierenKontrollkästchenzumKontrollenSammlung derArbeitsblatt
// 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);

Beim HinzufügenKontrollkästchen, können wir die Position der Zelle (wo sie angezeigt werden soll) und den Status des Kontrollkästchens angeben.

Ereignisbehandlung von CheckBox

Aspose.Cells.GridDesktop bietetCellCheckedChangedEreignis, das ausgelöst wird, wenn dieGeprüftStatus des Kontrollkästchens wird geändert. Entwickler können dieses Ereignis gemäß ihren Anforderungen handhaben. Zum Beispiel haben wir gerade eine Nachricht angezeigt, um die anzuzeigenGeprüftStatus des Kontrollkästchens im folgenden Code:

// 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);
}

ComboBox hinzufügen

Um eine Combobox mit Aspose.Cells.GridDesktop zum Arbeitsblatt hinzuzufügen, führen Sie bitte die folgenden Schritte aus:

  • Fügen Sie das Aspose.Cells.GridDesktop-Steuerelement zu Ihrer hinzuBilden
  • Greifen Sie beliebig zuArbeitsblatt
  • Erstellen Sie ein Array von Elementen (oder Werten), denen hinzugefügt wirdKombinationsfeld
  • AddierenKombinationsfeldzumKontrollenSammlung derArbeitsblattdurch Angabe der Position der Zelle (wo das Kombinationsfeld angezeigt wird) und der Elemente/Werte, die angezeigt werden, wenn auf das Kombinationsfeld geklickt wird
// 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);

Ereignisbehandlung von ComboBox

Aspose.Cells.GridDesktop bietetCellSelectedIndexChangedEreignis, das ausgelöst wird, wenn dieAusgewählter Indexder Combobox geändert. Entwickler können dieses Ereignis nach ihren Wünschen handhaben. Zum Beispiel haben wir gerade eine Nachricht angezeigt, um die anzuzeigenAusgewähltes Objektder Combobox:

// 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());
}