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() |
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 Basic | Copy 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