Exemplo n.º 1
0
 private void SetEditorBounds(EditorContext context)
 {
     foreach (NodeControlInfo info in GetNodeControls(context.CurrentNode))
     {
         if (context.Owner == info.Control && info.Control is EditableControl)
         {
             Point p = info.Bounds.Location;
             p.X += info.Control.LeftMargin;
             p.X -= OffsetX;
             p.Y -= (_rowLayout.GetRowBounds(FirstVisibleRow).Y - ColumnHeaderHeight);
             int width = DisplayRectangle.Width - p.X;
             if (UseColumns && info.Control.ParentColumn != null && Columns.Contains(info.Control.ParentColumn))
             {
                 Rectangle rect = GetColumnBounds(info.Control.ParentColumn.Index);
                 width = rect.Right - OffsetX - p.X;
             }
             context.Bounds = new Rectangle(p.X, p.Y, width, info.Bounds.Height);
             ((EditableControl)info.Control).SetEditorBounds(context);
             return;
         }
     }
 }
Exemplo n.º 2
0
        public void UpdateEditorBounds()
        {
            if (_currentEditor != null)
            {
                EditorContext context = new EditorContext();
                context.Owner = _currentEditorOwner;
                context.CurrentNode = CurrentNode;
                context.Editor = _currentEditor;
                context.DrawContext = _measureContext;

                SetEditorBounds(context);
            }
        }