Spread Windows Forms 7.0 Product Documentation
GetSubEditorControl Method
See Also  Example Support Options
FarPoint.Win.Spread Assembly > FarPoint.Win.Spread.CellType Namespace > ISubEditor Interface : GetSubEditorControl Method


Glossary Item Box

Gets the control associated with the subeditor.

Syntax

Visual Basic (Declaration) 
Function GetSubEditorControl() As Control
Visual Basic (Usage)Copy Code
Dim instance As ISubEditor
Dim value As Control
 
value = instance.GetSubEditorControl()
C# 
Control GetSubEditorControl()

Return Value

Control object containing the subeditor control

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.
C#Copy Code
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;
}
Visual BasicCopy Code
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

Requirements

Target Platforms: Windows 2000 Professional (SP4), Windows 2000 Server, Windows 2003 Server (SP1), Windows 2008, Windows XP (SP2), Windows Vista, Windows 7, Windows 8

See Also

© 2002-2014 ComponentOne, a division of GrapeCity. All Rights Reserved.