# Using Touch Support with InputMan Cells

Implement touch gestures to change cell values in Spread.NET using side buttons.

## Content

You can use touch support with GcDateTime and GcTextBox cells.
You can tap side buttons in the cells to change the cell values.
![Touch support with GcDateTime and GcTextBox cells](https://cdn.mescius.io/document-site-files/images/2238e618-a1fb-45a6-9ce5-9a4157bd2931/images/touchim.png)

## Using Code

The following example creates side buttons for GcDateTime cells and a GcTextBox cell. The **DropDownOpening** event has a ByTouch property that returns whether the drop-down button was opened with a touch gesture.

```csharp
GrapeCity.Win.Spread.InputMan.CellType.SideButtonInfo testbutton = new GrapeCity.Win.Spread.InputMan.CellType.SideButtonInfo();
testbutton.Behavior = GrapeCity.Win.Spread.InputMan.CellType.SideButtonBehavior.SpinDown;
testbutton.Delay = 300;
testbutton.Interval = 5;
testbutton.Text = "1";

GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType dateCellType = new GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType();
dateCellType.SideButtons.Add(new GrapeCity.Win.Spread.InputMan.CellType.SideButtonInfo() { Text = "A" });
this.fpSpread1_Sheet1.Columns[0].CellType = dateCellType;

GrapeCity.Win.Spread.InputMan.CellType.GcTextBoxCellType textCellType = new GrapeCity.Win.Spread.InputMan.CellType.GcTextBoxCellType();
textCellType.SideButtons.Add(new GrapeCity.Win.Spread.InputMan.CellType.SideButtonInfo() { Text = "B" });
this.fpSpread1_Sheet1.Columns[1].CellType = textCellType;

GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType dateCellType2 = new GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType();
dateCellType2.SideButtons.Add(testbutton);
this.fpSpread1_Sheet1.Columns[2].CellType = dateCellType2;

void IMCellType_DropDownOpening(object sender, GrapeCity.Win.Spread.InputMan.CellType.DropDownOpeningEventArgs e)
        {
           
           listBox1.Items.Add(e.ByTouch.ToString());
        }

        private void fpSpread1_EditModeOn(object sender, EventArgs e)
        {
            if (fpSpread1.EditingControl is GrapeCity.Win.Spread.InputMan.CellType.GcDateTime)
                ((GrapeCity.Win.Spread.InputMan.CellType.GcDateTime)fpSpread1.EditingControl).DropDownOpening += new EventHandler(IMCellType_DropDownOpening);
        }

        private void fpSpread1_EditModeOff(object sender, EventArgs e)
        {
            if (fpSpread1.EditingControl is GrapeCity.Win.Spread.InputMan.CellType.GcDateTime)
                ((GrapeCity.Win.Spread.InputMan.CellType.GcDateTime)fpSpread1.EditingControl).DropDownOpening -= new EventHandler(IMCellType_DropDownOpening);
        }
```

```vbnet
Dim testbutton As New GrapeCity.Win.Spread.InputMan.CellType.SideButtonInfo()
testbutton.Behavior = GrapeCity.Win.Spread.InputMan.CellType.SideButtonBehavior.SpinDown
testbutton.Delay = 300
testbutton.Interval = 5
testbutton.Text = "1"

Dim dateCellType As New GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType()
dateCellType.SideButtons.Add(New GrapeCity.Win.Spread.InputMan.CellType.SideButtonInfo() With {.Text = "A"})
fpSpread1_Sheet1.Columns(0).CellType = dateCellType

Dim textCellType = New GrapeCity.Win.Spread.InputMan.CellType.GcTextBoxCellType()
textCellType.SideButtons.Add(New GrapeCity.Win.Spread.InputMan.CellType.SideButtonInfo() With {.Text = "B"})
fpSpread1_Sheet1.Columns(1).CellType = textCellType

Dim dateCellType2 As New GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType()
dateCellType2.SideButtons.Add(testbutton)
fpSpread1_Sheet1.Columns(2).CellType = dateCellType2

Private Sub IMCellType_DropDownOpening(ByVal sender As Object, ByVal e As GrapeCity.Win.Spread.InputMan.CellType.DropDownOpeningEventArgs)
        ListBox1.Items.Add(e.ByTouch.ToString())
    End Sub

    Private Sub fpSpread1_EditModeOff(sender As Object, e As EventArgs) Handles fpSpread1.EditModeOff
        If TypeOf (fpSpread1.EditingControl) Is GrapeCity.Win.Spread.InputMan.CellType.GcDateTime Then
            RemoveHandler CType(fpSpread1.EditingControl, GrapeCity.Win.Spread.InputMan.CellType.GcDateTime).DropDownOpening, AddressOf IMCellType_DropDownOpening
        End If
    End Sub

    Private Sub fpSpread1_EditModeOn(sender As Object, e As EventArgs) Handles fpSpread1.EditModeOn
        If TypeOf (fpSpread1.EditingControl) Is GrapeCity.Win.Spread.InputMan.CellType.GcDateTime Then
            AddHandler CType(fpSpread1.EditingControl, GrapeCity.Win.Spread.InputMan.CellType.GcDateTime).DropDownOpening, AddressOf IMCellType_DropDownOpening
        End If
    End Sub
```

## See Also

[Using Touch Support with AutoFit](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsautofit)
[Using Touch Support with Cell Notes](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tscellnote)
[Using Touch Support with Charts](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tschart)
[Using Touch Support with Clipboard Operations](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsclipboard)
[Using Touch Support with Drag and Fill](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsdragfill)
[Using Touch Support with Drop-Down Elements](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tselements)
[Using Touch Support with Editable Cells](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tseditcells)
[Using Touch Support with Filtering](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsfilter)
[Using Touch Support with Grouping](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsrangegroup/tsgrouping)
[Using Touch Support with Range Grouping](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsrangegroup)
[Using Touch Support when Moving Columns or Rows](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsmove)
[Using Touch Support when Resizing Columns or Rows](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsresize)
[Using Touch Support with Scrolling](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsscroll)
[Using Touch Support with Selections](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsselection)
[Using Touch Support with Shapes](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsshapes)
[Using Touch Support when Sorting](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tssort)
[Using Touch Support with Viewports](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tsviewport)
[Using Touch Support with the Tab Strip](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tstabstrip)
[Using Touch Support with Zooming](/spreadnet/docs/latest/online-win/overview/spwin-devguide/tsmain/tsusing/tszoom)