Spread Windows Forms 13.0 Product Documentation
FarPoint.Win.Spread Assembly / FarPoint.Win.Spread.CellType Namespace / ISubEditor Interface / CloseUp Event
Example


In This Topic
    CloseUp Event (ISubEditor)
    In This Topic
    Occurs when the subeditor control goes away.
    Syntax
    'Declaration
     
    Event CloseUp As EventHandler
    'Usage
     
    Dim instance As ISubEditor
    Dim handler As EventHandler
     
    AddHandler instance.CloseUp, handler
    event EventHandler CloseUp
    Example
    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;
          Controls.Add(txt);
          Controls.Add(BtnOk);
          Controls.Add(BtnCancel);
          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
          Controls.Add(txt)
          Controls.Add(BtnOk)
          Controls.Add(BtnCancel)
          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