Spread Windows Forms 6.0 Product Documentation
SubEditor Property
See Also  Example Support Options
FarPoint.Win.Spread Assembly > FarPoint.Win.Spread.CellType Namespace > EditBaseCellType Class : SubEditor Property

Glossary Item Box

Gets or sets the subeditor.


Visual Basic (Declaration) 
Public Overrides Property SubEditor As ISubEditor
Visual Basic (Usage)Copy Code
Dim instance As EditBaseCellType
Dim value As ISubEditor
instance.SubEditor = value
value = instance.SubEditor
public override ISubEditor SubEditor {get; set;}

Property Value

ISubEditor object containing the subeditor


This example sets several properties of the cell type including how arrow keys are processed by the edit cell, the background image to display, whether ellipsis characters are displayed for text that is too long to fit in the cell, the subeditor to display if the user double-clicks in the cell while in edit mode, the orientation of the text and whether the text wraps if it is too long to fit in the cell.
C#Copy Code
public class se : 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 se()
      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);

FarPoint.Win.Spread.CellType.EditBaseCellType ed = new FarPoint.Win.Spread.CellType.EditBaseCellType();
fpSpread1.ActiveSheet.Cells[0, 0].Text = "I am an EditBaseCellType";
ed.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None;
ed.BackgroundImage = new FarPoint.Win.Picture(Image.FromFile(Application.StartupPath + "\\Trffc14.ico"));
ed.StringTrim = StringTrimming.EllipsisCharacter;
ed.SubEditor = new se();
ed.TextOrientation = FarPoint.Win.TextOrientation.TextHorizontal;
ed.WordWrap = false;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = ed;
Visual BasicCopy Code
Public Class se
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

Dim ed As New FarPoint.Win.Spread.CellType.EditBaseCellType()
FpSpread1.ActiveSheet.Cells(0, 0).Text = "I am an EditBaseCellType"
ed.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None
ed.BackgroundImage = New FarPoint.Win.Picture(Image.FromFile(Application.StartupPath & "\Trffc14.ico"))
ed.StringTrim = StringTrimming.EllipsisCharacter
ed.SubEditor = New se()
ed.TextOrientation = FarPoint.Win.TextOrientation.TextHorizontal
ed.WordWrap = False
FpSpread1.ActiveSheet.Cells(0, 0).CellType = ed


Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

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