Spread Windows Forms 12.0 Product Documentation
CloseUp Event (ISubEditor)

FarPoint.Win.Spread Assembly > FarPoint.Win.Spread.CellType Namespace > ISubEditor Interface : CloseUp Event
Occurs when the subeditor control goes away.
Event CloseUp As EventHandler
Dim instance As ISubEditor
Dim handler As EventHandler
AddHandler instance.CloseUp, handler
event EventHandler CloseUp
This example subclasses the ISubEditor class and creates a custom subeditor for the first cell in the spreadsheet to illustrate the use of the methods and events.
public class mySubEd : Form, FarPoint.Win.Spread.CellType.ISubEditor
public event EventHandler ValueChanged;
public event EventHandler CloseUp;
private TextBox txt = null;
private Button BtnOk = null;
private Button BtnCancel = null;

public mySubEd()
      FormBorderStyle = FormBorderStyle.FixedSingle;
      MaximizeBox = false;
      MinimizeBox = false;
      ControlBox = false;
      txt = new TextBox();
      BtnOk = new Button();
      BtnCancel = new Button();
      txt.Location = new Point(0, 0);
      txt.Size = new Size(110, 200);
      txt.ForeColor = Color.Red;
      BtnOk.Location = new Point(3, 75);
      BtnOk.Size = new Size(50, 25);
      BtnOk.Text = "OK";
      BtnOk.ForeColor = Color.Red;
      BtnCancel.Location = new Point(57, 75);
      BtnCancel.Size = new Size(50, 25);
      BtnCancel.Text = "Cancel";
      BtnCancel.ForeColor = Color.Red;
      Text = "Editor";
      BtnOk.Click += new EventHandler(OK_Clicked);
      BtnCancel.Click += new EventHandler(Cancel_Clicked);
      txt.TextChanged += new EventHandler(txt_TextChanged);

private void OK_Clicked(object sender, EventArgs e)
      if (ValueChanged != null)
            ValueChanged(this, EventArgs.Empty);
      if (CloseUp != null)
            CloseUp(this, EventArgs.Empty);

private void Cancel_Clicked(object sender, EventArgs e)
      if (CloseUp != null)
            CloseUp(this, EventArgs.Empty);

private void txt_TextChanged(object sender, EventArgs e)
      Text = txt.Text;

public Point GetLocation(Rectangle rect)
      Point pt = new Point(0);
      Size sz = GetPreferredSize();
      pt.Y = (Screen.PrimaryScreen.WorkingArea.Height/2) - (sz.Height/2);
      pt.X = (Screen.PrimaryScreen.WorkingArea.Width/2) - (sz.Width/2);
return pt;
public Control GetSubEditorControl()
      return this;
public object GetValue()
      return txt.Text;
public void SetValue(object value)
      value = txt.Text;
public Size GetPreferredSize()
      return new Size(115, 130);

private void Form1_Load(object sender, System.EventArgs e)
      FarPoint.Win.Spread.CellType.TextCellType t = new FarPoint.Win.Spread.CellType.TextCellType();
      t.SubEditor = new mySubEd();
      fpSpread1.ActiveSheet.Cells[0, 0].CellType = t;
Public Class mySubEd
Inherits Form
Implements FarPoint.Win.Spread.CellType.ISubEditor

Public Event CloseUp(ByVal sender As Object, ByVal e As EventArgs) Implements FarPoint.Win.Spread.CellType.ISubEditor.CloseUp
Public Event ValueChanged(ByVal sender As Object, ByVal e As EventArgs) Implements FarPoint.Win.Spread.CellType.ISubEditor.ValueChanged
Private BtnOk As Button = Nothing
Private BtnCancel As Button = Nothing
Private txt As TextBox = Nothing

Public Sub New()
      FormBorderStyle = FormBorderStyle.FixedSingle
      MaximizeBox = False
      MinimizeBox = False
      ControlBox = False
      txt = New TextBox()
      BtnOk = New Button()
      BtnCancel = New Button()
      txt.Location = New Point(0, 0)
      txt.Size = New Size(110, 200)
      txt.ForeColor = Color.Red
      BtnOk.Location = New Point(3, 75)
      BtnOk.Size = New Size(50, 25)
      BtnOk.Text = "OK"
      BtnOk.ForeColor = Color.Red
      BtnCancel.Location = New Point(57, 75)
      BtnCancel.Size = New Size(50, 25)
      BtnCancel.Text = "Cancel"
      BtnCancel.ForeColor = Color.Red
      Text = "Editor"
      AddHandler BtnOk.Click, AddressOf OK_Clicked
      AddHandler BtnCancel.Click, AddressOf Close_Clicked
      AddHandler txt.TextChanged, AddressOf txt_TextChanged
End Sub

Private Sub OK_Clicked(ByVal sender As Object, ByVal e As EventArgs)
      RaiseEvent ValueChanged(Me, EventArgs.Empty)
      RaiseEvent CloseUp(Me, EventArgs.Empty)
End Sub

Private Sub Close_Clicked(ByVal sender As Object, ByVal e As EventArgs)
      RaiseEvent CloseUp(Me, EventArgs.Empty)
End Sub

Private Sub txt_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
      Text = txt.Text
End Sub

Public Function GetLocation(ByVal rect As Rectangle) As Point Implements FarPoint.Win.Spread.CellType.ISubEditor.GetLocation
      Dim pt As New Point(0)
      Dim sz As Size = GetPreferredSize()
      pt.Y = (Screen.PrimaryScreen.WorkingArea.Height / 2) - (sz.Height / 2)
      pt.X = (Screen.PrimaryScreen.WorkingArea.Width / 2) - (sz.Width / 2)
      Return pt
End Function

Public Function GetPreferredSize() As Size Implements FarPoint.Win.Spread.CellType.ISubEditor.GetPreferredSize
      Return New Size(115, 130)
End Function

Public Function GetSubEditorControl() As Control Implements FarPoint.Win.Spread.CellType.ISubEditor.GetSubEditorControl
      Return Me
End Function

Public Function GetValue() As Object Implements FarPoint.Win.Spread.CellType.ISubEditor.GetValue
      Return txt.Text
End Function

Public Sub SetValue(ByVal value As Object) Implements FarPoint.Win.Spread.CellType.ISubEditor.SetValue
      value = txt.Text
End Sub
End Class

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      Dim t As New FarPoint.Win.Spread.CellType.TextCellType()
      t.SubEditor = New mySubEd()
      FpSpread1.ActiveSheet.Cells(0, 0).CellType = t
End Sub
See Also


ISubEditor Interface
ISubEditor Members