public InplaceEditArgs(InplaceEditable item, TextBox textBox) { this.item = item; this.textBox = textBox; }
internal void startInplaceEdit(InplaceEditable obj, RectangleF rect) { if (nowEditing) return; inplaceObject = obj; string text = obj.getTextToEdit(); // get the position of the object in device coordinates Graphics g = this.CreateGraphics(); setTransforms(g); Rectangle rc = Utilities.docToDevice(g, rect); // setup the inplace text box there inplaceTextBox = new TextBox(); inplaceTextBox.Multiline = true; inplaceTextBox.AcceptsReturn = true; inplaceTextBox.Visible = true; inplaceTextBox.Bounds = rc; inplaceTextBox.Font = inplaceEditFont; inplaceTextBox.Text = text; inplaceTextBox.KeyPress += new KeyPressEventHandler(inplaceTextBoxKeyPress); Controls.Add(inplaceTextBox); inplaceTextBox.Focus(); nowEditing = true; // raise the EnterInplaceEditMode event if (EnterInplaceEditMode != null) { EnterInplaceEditMode(this, new InplaceEditArgs(inplaceObject, inplaceTextBox)); } }