FarPoint.Win.Spread Assembly > FarPoint.Win.Spread Namespace > SubEditorOpeningEventArgs Class : EditingControl Property |
'Declaration Public ReadOnly Property EditingControl As Control
'Usage Dim instance As SubEditorOpeningEventArgs Dim value As Control value = instance.EditingControl
public Control EditingControl {get;}
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(OKClicked); BtnCancel.Click += new EventHandler(CancelClicked); txt.TextChanged += new EventHandler(txtTextChanged); } private void OKClicked(object sender, EventArgs e) { if (ValueChanged != null) ValueChanged(this, EventArgs.Empty); if (CloseUp != null) CloseUp(this, EventArgs.Empty); } private void CancelClicked(object sender, EventArgs e) { if (CloseUp != null) CloseUp(this, EventArgs.Empty); } private void txtTextChanged(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 Form1Load(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; } private void fpSpread1SubEditorOpen(object sender, FarPoint.Win.Spread.SubEditorOpeningEventArgs e) { textBox1.Text = e.EditingControl.ToString(); }
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 OKClicked AddHandler BtnCancel.Click, AddressOf CloseClicked AddHandler txt.TextChanged, AddressOf txtTextChanged End Sub Private Sub OKClicked(ByVal sender As Object, ByVal e As EventArgs) RaiseEvent ValueChanged(Me, EventArgs.Empty) RaiseEvent CloseUp(Me, EventArgs.Empty) End Sub Private Sub CloseClicked(ByVal sender As Object, ByVal e As EventArgs) RaiseEvent CloseUp(Me, EventArgs.Empty) End Sub Private Sub txtTextChanged(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 Form1Load(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 Private Sub FpSpread1SubEditorOpen(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.SubEditorOpeningEventArgs) Handles FpSpread1.SubEditorOpen TextBox1.Text = e.EditingControl.ToString() End Sub
Target Platforms: Windows 2000 Professional (SP4), Windows 2000 Server, Windows 2003 Server (SP1), Windows 2008, Windows XP (SP2), Windows Vista, Windows 7, Windows 8