Replied 8 September 2017, 3:13 pm EST
Sorry for the delayed reply! It's a great question and taking a little longer than usual to process due to the complexity. I think a blog post example showing how to implement this is better, as there are a lot of points to make about it, and it would be very useful for other customers. I will post a complete example cell type in a blog post next week, and post a link to it here in another reply.
Here are some quick answers to your questions:
"I don´t know how to "show" my usercontrol in the spreads cell."
Spread will show the control in the cell if you return the control instance from the IEditor.GetEditorControl method in the cell type. Your code is just returning nothing, so the cell never shows any editor because Spread thinks your custom cell type is not editable (that's what returning null from GetEditorControl means).
"I have to fill the method "PaintCell" with some code but don´t know which one."
You need to put code there to draw the control in the cell when it's not being edited. For your case, that code can use ControlPaint and Graphics.DrawString to draw the cell like the check box controls.
The built-in cell types handle their drawing in static paint methods that are called from both PaintCell and the Paint event; you might want to consider taking that approach in your user control instead of using check box controls (less controls means less handles used). It's also much easier to get the same results in the cell when edit mode is on or off when you handle the drawing yourself in the control.
There are a number of other considerations about making such a cell type, like implementing support for IReuseEditorControl2 to share the editor control instance between cells instead of creating a new one for each cell type instance, which I will cover in the blog post. For more info about those interfaces, please see here:http://helpcentral.componentone.com/NetHelp/SpreadNet7/WF/webframe.html#FarPoint.Win.Spread~FarPoint.Win.Spread.CellType.IReuseEditorControl_members.htmlhttp://helpcentral.componentone.com/NetHelp/SpreadNet7/WF/webframe.html#FarPoint.Win.Spread~FarPoint.Win.Spread.CellType.IReuseEditorControl2_members.html
I also suggest it's much better to make a custom cell type that inherits from BaseCellType (at least, if you want it to integrate well with Spread) because that base class has many helper methods and built-in logic to handle many aspects of integration with Spread, like GetReusableEditorControl:http://helpcentral.componentone.com/NetHelp/SpreadNet7/WF/webframe.html#FarPoint.Win.Spread~FarPoint.Win.Spread.CellType.BaseCellType~GetReusableEditorControl.html
I will cover that in the blog post too. Sorry again for the delay!