diff --git a/WindowsForms-toc.html b/WindowsForms-toc.html
index 017e54aef..951e6bb48 100644
--- a/WindowsForms-toc.html
+++ b/WindowsForms-toc.html
@@ -4404,6 +4404,9 @@
Row Height Customization
+
+ Drag and Drop
+
Merge Cells
@@ -6107,7 +6110,7 @@
Release Notes
-
+ - 2025 Volume 4 - v32.*
- 2025 Volume 3 - v31.*
- Weekly Nuget Release
diff --git a/WindowsForms/DataGrid/DragAndDrop.md b/WindowsForms/DataGrid/DragAndDrop.md
new file mode 100644
index 000000000..75754b858
--- /dev/null
+++ b/WindowsForms/DataGrid/DragAndDrop.md
@@ -0,0 +1,451 @@
+---
+layout: post
+title: Drag and Drop in Windows Forms DataGrid | Syncfusion®
+description: This section explains about the drag and drop support in SfDataGrid. It can be enabled by setting AllowDraggingRows, AllowDraggingColumns and AllowDrop to true.
+platform: windowsforms
+control: SfDataGrid
+documentation: ug
+---
+
+# Drag and Drop in WinForms DataGrid (SfDataGrid)
+
+## Column Drag and Drop
+SfDataGrid allow end-users to rearrange the columns by drag and drop the column headers by setting [SfDataGrid.AllowDraggingColumns](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.SfDataGrid.html#Syncfusion_WinForms_DataGrid_SfDataGrid_AllowDraggingColumns) to true.
+{% tabs %}
+{% highlight c# %}
+sfDataGrid.AllowDraggingColumns = true;
+{% endhighlight %}
+{% highlight vb %}
+sfDataGrid.AllowDraggingColumns = True
+{% endhighlight %}
+{% endtabs %}
+
+
+The drag and drop operation for particular column can be enabled or disabled using the [AllowDragging](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.GridColumnBase.html#Syncfusion_WinForms_DataGrid_GridColumnBase_AllowDragging) property.
+{% tabs %}
+{% highlight c# %}
+sfDataGrid.Columns[0].AllowDragging = false;
+{% endhighlight %}
+{% highlight vb %}
+sfDataGrid.Columns(0).AllowDragging = False
+{% endhighlight %}
+{% endtabs %}
+
+### Disable Column Reordering
+The [ColumnDragging](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.SfDataGrid.html#Syncfusion_WinForms_DataGrid_SfDataGrid_ColumnDragging) event occurs when start dragging the column header. The dragging operation of the particular column can canceled by handling the `ColumnDragging` event. [ColumnDraggingEventArgs](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.Events.ColumnDraggingEventArgs.html) of `ColumnDragging` event provides information about the column triggered this event.
+
+#### Cancel Dragging Operation
+SfDataGrid allow to cancel dragging operation for particular column by handling the `ColumnDragging` event when the `e.Reason` is `ColumnDraggingAction.DragStarting`.
+{% tabs %}
+{% highlight c# %}
+sfDataGrid.ColumnDragging += sfDataGrid_ColumnDragging;
+
+void sfDataGrid_ColumnDragging(object sender, Syncfusion.WinForms.DataGrid.Events.ColumnDraggingEventArgs e)
+{
+ var column = sfDataGrid.Columns[e.From];
+ if (column.MappingName == "OrderID" && e.Reason == ColumnDraggingAction.DragStarting)
+ {
+ e.Cancel = true;
+ }
+}
+{% endhighlight %}
+{% highlight vb %}
+AddHandler sfDataGrid.ColumnDragging, AddressOf sfDataGrid_ColumnDragging
+
+Private Sub sfDataGrid_ColumnDragging(ByVal sender As Object, ByVal e As Syncfusion.WinForms.DataGrid.Events.ColumnDraggingEventArgs)
+ Dim column = sfDataGrid.Columns(e.From)
+
+ If column.MappingName = "OrderID" AndAlso e.Reason = ColumnDraggingAction.DragStarting Then
+ e.Cancel = True
+ End If
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+#### Cancel Column Reordering
+SfDataGrid allow to cancel dropping a column at particular column by handling the `ColumnDragging` event with `e.Reason` is `ColumnDraggingAction.Dropping`.
+{% tabs %}
+{% highlight c# %}
+sfDataGrid.ColumnDragging += sfDataGrid_ColumnDragging;
+
+void sfDataGrid_ColumnDragging(object sender, Syncfusion.WinForms.DataGrid.Events.ColumnDraggingEventArgs e)
+{
+ if (e.Reason == ColumnDraggingAction.Dropping)
+ {
+ var column = sfDataGrid.Columns[e.To];
+ if (column.MappingName == "ProductName")
+ {
+ e.Cancel = true;
+ }
+ }
+}
+{% endhighlight %}
+{% highlight vb %}
+AddHandler sfDataGrid.ColumnDragging, AddressOf sfDataGrid_ColumnDragging
+
+Private Sub sfDataGrid_ColumnDragging(ByVal sender As Object, ByVal e As Syncfusion.WinForms.DataGrid.Events.ColumnDraggingEventArgs)
+ If e.Reason = ColumnDraggingAction.Dropping Then
+ Dim column = sfDataGrid.Columns(e.To)
+
+ If column.MappingName = "ProductName" Then
+ e.Cancel = True
+ End If
+ End If
+End Sub
+{% endhighlight %}
+{% endtabs %}
+### Drag and Drop Customization
+The drag-and-drop operations can be changed by overriding the virtual methods of [ColumnDragDropController](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.Interactivity.ColumnDragDropController.html) class and assigning it to [SfDataGrid.ColumnDragDropController](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.SfDataGrid.html#Syncfusion_WinForms_DataGrid_SfDataGrid_ColumnDragDropController).
+{% tabs %}
+{% highlight c# %}
+
+sfDataGrid.ColumnDragDropController = new CustomDragAndDropController(sfDataGrid.TableControl, sfDataGrid.GroupPanel);
+
+public class CustomDragAndDropController : ColumnDragDropController
+{
+ public CustomDragAndDropController(TableControl tableControl, GroupPanel groupPanel)
+ : base(tableControl, groupPanel)
+ {
+ }
+
+ protected override bool CanShowPopup(GridColumn column)
+ {
+ if (column.MappingName == "UnitPrice")
+ return false;
+ return base.CanShowPopup(column);
+ }
+
+ protected override void PopupDroppedOnHeaderRow(int oldIndex, int newIndex)
+ {
+ if (newIndex == 0)
+ return;
+ base.PopupDroppedOnHeaderRow(oldIndex, newIndex);
+ }
+
+ protected override void PopupDroppedOnGroupDropArea(GridColumn draggingColumn, MouseEventArgs e)
+ {
+ if (draggingColumn.MappingName == "OrderID")
+ return;
+ base.PopupDroppedOnGroupDropArea(draggingColumn, e);
+ }
+}
+{% endhighlight %}
+{% highlight vb %}
+sfDataGrid.ColumnDragDropController = New CustomDragAndDropController(sfDataGrid.TableControl, sfDataGrid.GroupPanel)
+
+public class CustomDragAndDropController : ColumnDragDropController
+ public CustomDragAndDropController(TableControl tableControl, GroupPanel groupPanel)
+ MyBase.New(tableControl, groupPanel)
+
+
+ protected override Boolean CanShowPopup(GridColumn column)
+ If column.MappingName = "UnitPrice" Then
+ Return False
+ End If
+ Return MyBase.CanShowPopup(column)
+
+ protected override void PopupDroppedOnHeaderRow(Integer oldIndex, Integer newIndex)
+ If newIndex = 0 Then
+ Return
+ End If
+ MyBase.PopupDroppedOnHeaderRow(oldIndex, newIndex)
+
+ protected override void PopupDroppedOnGroupDropArea(GridColumn draggingColumn, MouseEventArgs e)
+ If draggingColumn.MappingName = "OrderID" Then
+ Return
+ End If
+ MyBase.PopupDroppedOnGroupDropArea(draggingColumn, e)
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling Drag and Drop between Frozen and Non-frozen Columns
+
+By default, the columns re-ordering performed between any column regions of columns. The dropping action can cancel between the frozen and non-frozen columns by handling `SfDataGrid.ColumnDragging` event.
+{% tabs %}
+{% highlight c# %}
+sfDataGrid.ColumnDragging += sfDataGrid_ColumnDragging;
+
+void sfDataGrid_ColumnDragging(object sender, Syncfusion.WinForms.DataGrid.Events.ColumnDraggingEventArgs e)
+{
+ if (e.Reason == ColumnDraggingAction.Dropping)
+ {
+ var frozenColIndex = this.sfDataGrid.FrozenColumnCount + this.sfDataGrid.TableControl.ResolveToStartColumnIndex();
+ if (e.From < frozenColIndex && e.To > frozenColIndex - 1)
+ e.Cancel = true;
+ if (e.From > frozenColIndex && e.To < frozenColIndex || (e.From == frozenColIndex && e.To < frozenColIndex))
+ e.Cancel = true;
+ }
+}
+{% endhighlight %}
+{% highlight vb %}
+AddHandler sfDataGrid.ColumnDragging, AddressOf sfDataGrid_ColumnDragging
+
+Private Sub sfDataGrid_ColumnDragging(ByVal sender As Object, ByVal e As Syncfusion.WinForms.DataGrid.Events.ColumnDraggingEventArgs)
+ If e.Reason = ColumnDraggingAction.Dropping Then
+ Dim frozenColIndex = Me.sfDataGrid.FrozenColumnCount + Me.sfDataGrid.TableControl.ResolveToStartColumnIndex()
+ If e.From < frozenColIndex AndAlso e.To > frozenColIndex - 1 Then
+ e.Cancel = True
+ End If
+ If e.From > frozenColIndex AndAlso e.To < frozenColIndex OrElse (e.From Is frozenColIndex AndAlso e.To < frozenColIndex) Then
+ e.Cancel = True
+ End If
+ End If
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+
+N> `FrozenColumnCount` and `FooterColumnCount` should be lesser than the number of columns that can be displayed in view.
+
+
+## Row Drag and Drop
+WinForms DataGrid allows drag and drop the rows within and between controls by setting the **AllowDraggingRows** and **AllowDrop** property as true. It is also possible to drag and drop the rows between datagrids. SfDataGrid allows dropping rows when **AllowDrop** is true and allows dragging when **AllowDraggingRows** is true.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.AllowDraggingRows = true;
+this.sfDataGrid.AllowDrop = true;
+{% endhighlight %}
+{% highlight vb %}
+Me.sfDataGrid.AllowDraggingRows = True
+Me.sfDataGrid.AllowDrop = True
+{% endhighlight %}
+{% endtabs %}
+
+While dropping, the dragged records can be added above or below to the target record based on its drop indicator.
+
+For example, if you dropped record at the bottom of the targeted record, it will be added below the targeted record.
+
+
+
+If you drop at the top of the targeted record, it will be added above the targeted record.
+
+
+
+### Dragging multiple rows
+
+WinForms DataGrid (SfDataGrid) allows to drag multiple selected rows. To enable multiple selection, set the [SfDataGrid.SelectionMode](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.DataGrid.SfDataGrid.html#Syncfusion_WinForms_DataGrid_SfDataGrid_SelectionMode) as `Multiple` or `Extended`.
+
+N> The drag selection cannot be performed while the **AllowDraggingRows** enabled as `true` in the SfDataGrid.
+
+
+
+## Drag and drop events
+
+SfDataGrid triggers the following events when drag and drop:
+
+### Drag start event
+
+**DragStart** event occurs when you start to drag the records in datagrid. The **GridRowDragStartEventArgs** has the following member, which provides information for the `DragStart` event.
+
+- **DraggingRecords**: Gets the Records which contains the data associated while dragging the rows.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.DragStart += RowDragDropController_DragStart;
+
+private void RowDragDropController_DragStart(object sender, GridRowDragStartEventArgs e)
+{
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Drag over event
+
+**DragOver** event occurs continuously while record is dragged within the target SfDataGrid. The **GridRowDragOverEventArgs** has the following members, which provide information for the `DragOver` event.
+
+- **Data**: Gets a data object that contains the data associated while dragging the rows.
+- **DropPosition**: Gets a value indicating the drop position which is based on dropped location
+- **IsFromOutSideSource**: Gets a value indicating whether the dragging item is from same DataGrid or not.
+- **ShowDragUI**: Gets or sets a value indicating the default Dragging UI.
+- **TargetRecord**: Gets a value indicating the target record which is going to drop.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.DragOver += RowDragDropController_DragOver;
+
+private void RowDragDropController_DragOver(object sender, GridRowDragOverEventArgs e)
+{
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Drag leave event
+
+**DragLeave** event occurs when leave a drag-and-drop operation.The **GridRowDragLeaveEventArgs** has the following members, which provide information for the `DragLeave` event.
+
+- **Data**: Gets a data object that contains the data associated while dragging the rows.
+- **DropPosition**: Gets a value indicating the drop position which is based on dropped location
+- **IsFromOutSideSource**: Gets a value indicating whether the dragging item is from same DataGrid or not.
+- **TargetRecord**: Gets a value indicating the target record which is going to drop.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.DragLeave += RowDragDropController_DragLeave;
+
+private void RowDragDropController_DragLeave(object sender, GridRowDragLeaveEventArgs e)
+{
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Drop event
+
+**Drop** event occurs when a record is dropping within the target SfDataGrid.The **GridRowDropEventArgs** has the following members, which provide information for the `Drop` event.
+
+- **Data**: Gets a data object that contains the data associated while dragging the rows.
+- **DraggingRecords**: Gets the Records which contains the data associated while dragging the rows.
+- **DropPosition**: Gets a value indicating the drop position which is based on dropped location
+- **IsFromOutSideSource**: Gets a value indicating whether the dragging item is from same DataGrid or not.
+- **TargetRecord**: Gets a value indicating the target record which is going to drop.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.Drop += RowDragDropController_Drop;
+
+private void RowDragDropController_Drop(object sender, GridRowDropEventArgs e)
+{
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Dropped event
+
+Dropped event occurs when a record is dropping within the target SfDataGrid. The GridRowDroppedEventArgs has the following members, which provide information for the Drop event.
+
+- **Data**: Gets a data object that contains the data associated while dragging the rows.
+- **DropPosition**: Gets a value indicating the drop position which is based on dropped location
+- **IsFromOutSideSource**: Gets a value indicating whether the dragging item is from same DataGrid or not.
+- **TargetRecord**: Gets a value indicating the target record which is going to drop.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.Dropped += RowDragDropController_Dropped;
+
+private void RowDragDropController_Dropped(object sender, GridRowDroppedEventArgs e)
+{
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Customizing row drag and drop operation
+
+#### Disable dragging of certain rows in WinForms DataGrid
+
+You can restrict the dragging of certain rows in SfDataGrid by using the **GridRowDragDropController.DragStart event**.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.DragStart += RowDragDropController_DragStart;
+
+private void RowDragDropController_DragStart(object sender, GridRowDragStartEventArgs e)
+{
+ var records = e.DraggingRecords;
+ var order= records[0] as OrderInfo;
+ // You can restrict the dragging for certain rows based on the record value also.
+ var rowIndex = this.sfDataGrid.TableControl.ResolveToRowIndex(orders);
+ var recordIndex = this.sfDataGrid.TableControl.ResolveToRecordIndex(rowIndex);
+ if (recordIndex > 5)
+ e.Handled = true;
+}
+{% endhighlight %}
+{% endtabs %}
+
+#### Disable dropping over certain rows in WinForms DataGrid
+
+You can restrict the dropping the records in certain rows in SfDataGrid by using the **GridRowDragDropController.Drop event**.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.Drop += RowDragDropController_Drop;
+
+private void RowDragDropController_Drop(object sender, GridRowDropEventArgs e)
+{
+ var record = e.TargetRecord;
+ //You can restrict the dropping for certain rows based on the target record index.
+ var rowIndex = this.sfDataGrid.TableControl.ResolveToRowIndex(record);
+ var recordIndex = this.sfDataGrid.TableControl.ResolveToRecordIndex(rowIndex);
+ if (recordIndex > 5)
+ e.Handled = true;
+}
+{% endhighlight %}
+{% endtabs %}
+
+#### Disable the default drag UI
+
+You can disable the draggable popup by setting the ShowDragUI as false in the DragOver event of **GridRowDragDropController.DragOver event**.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController.DragOver += RowDragDropController_DragOver;
+
+private void RowDragDropController_DragOver(object sender, GridRowDragOverEventArgs e)
+{
+ e.ShowDragUI = false;
+}
+{% endhighlight %}
+{% endtabs %}
+
+#### Customizing the Drag Preview Row
+
+You can customize the appearance of the drag preview row by overriding the **DrawDragPreviewRow** method.
+
+{% tabs %}
+{% highlight c# %}
+this.sfDataGrid.RowDragDropController = new CustomizedRowDragDropController(sfDataGrid.TableControl);
+
+public class CustomizedRowDragDropController : RowDragDropController
+{
+ public CustomizedRowDragDropController(TableControl tableControl) : base(tableControl) { }
+ protected override Bitmap DrawDragPreviewRow(TableControl tableControl, List rowIndexes)
+ {
+ int width = 240;
+ int height = 60;
+ var bmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
+
+ using (Graphics g = Graphics.FromImage(bmp))
+ {
+ g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+
+ using (var bgBrush = new SolidBrush(Color.Blue))
+ using (var path = new System.Drawing.Drawing2D.GraphicsPath())
+ {
+ path.AddArc(0, 0, 20, 20, 180, 90);
+ path.AddArc(width - 20, 0, 20, 20, 270, 90);
+ path.AddArc(width - 20, height - 20, 20, 20, 0, 90);
+ path.AddArc(0, height - 20, 20, 20, 90, 90);
+ path.CloseFigure();
+ g.FillPath(bgBrush, path);
+ }
+
+ using (var font = new Font("Segoe UI", 10, FontStyle.Bold))
+ using (var textBrush = new SolidBrush(Color.White))
+ {
+ g.DrawString("Dragging Records Count : "+ rowIndexes.Count, font, textBrush, new PointF(20, 20));
+ }
+ }
+
+ return bmp;
+ }
+}
+{% endhighlight %}
+{% endtabs %}
+
+
+
+### Row drag and drop between two DataGrids
+
+You can able row drag-and-drop between two SfDataGrid controls and control the behavior when dropping into another grid using the **CrossGridDropAction** property:
+- **CrossGridDropAction.Move** : The dragged records are removed from the source grid and inserted into the target grid.
+- **CrossGridDropAction.Copy** : The dragged records are copied to the target grid without removing them from the source grid.
+
+N> The `CrossGridDropAction` property applies only when rows are dragged between two `SfDataGrid` controls. Dragging from other controls (such as `ListView`) into an SfDataGrid does not support these actions.
+
+
+
+### Limitations
+- When grouping is applied, records cannot be dropped into a different group.
+- When grouping is applied, dragging multiple rows is allowed only when all selected rows are within the same group.
+- In Master-Details view, row drag-and-drop is supported only within the same DetailsViewDataGrid.
+- Cross-hierarchical drag-and-drop (between master and detail views) is not allowed.
+- Cross-Grid Drop is not supported when grouping is applied in either of the grids.
diff --git a/WindowsForms/DataGrid/DragAndDrop_images/ColumnDragAndDrop_img1.png b/WindowsForms/DataGrid/DragAndDrop_images/ColumnDragAndDrop_img1.png
new file mode 100644
index 000000000..9ed15e166
Binary files /dev/null and b/WindowsForms/DataGrid/DragAndDrop_images/ColumnDragAndDrop_img1.png differ
diff --git a/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image1.png b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image1.png
new file mode 100644
index 000000000..df5e864c6
Binary files /dev/null and b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image1.png differ
diff --git a/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image2.png b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image2.png
new file mode 100644
index 000000000..9515bebc1
Binary files /dev/null and b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image2.png differ
diff --git a/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image3.png b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image3.png
new file mode 100644
index 000000000..8a4f1da69
Binary files /dev/null and b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image3.png differ
diff --git a/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image4.png b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image4.png
new file mode 100644
index 000000000..a3afba34c
Binary files /dev/null and b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image4.png differ
diff --git a/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image5.png b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image5.png
new file mode 100644
index 000000000..9d01f342c
Binary files /dev/null and b/WindowsForms/DataGrid/DragAndDrop_images/RowDragAndDrag_Image5.png differ
diff --git a/WindowsForms/Docking-Manager/Serialization.md b/WindowsForms/Docking-Manager/Serialization.md
index 739b02e7a..594bcd17b 100644
--- a/WindowsForms/Docking-Manager/Serialization.md
+++ b/WindowsForms/Docking-Manager/Serialization.md
@@ -441,6 +441,12 @@ Me.dockingManager1.LoadDesignerDockState()
{% endtabs %}
+## Restore to current state
+
+When the `DockingManager` load a saved layout using the [LoadDockState](https://help.syncfusion.com/cr/windowsforms/Syncfusion.Windows.Forms.Tools.DockingManager.html#Syncfusion_Windows_Forms_Tools_DockingManager_LoadDockState) method, the process may fail if an error occurs during deserialization. In such cases, the saved layout is not applied, and the current docking layout remains unchanged to ensure a consistent user experience.
+
+The LoadDockState method returns `true` when the layout is successfully loaded and applied. If loading fails, the method returns `false`, and no changes are made to the existing layout.
+
## Serialize dynamically added children
By default, the docking manager cannot deserialize its saved layout properly, when its child collection is modified after the DockState is saved.
diff --git a/WindowsForms/Menu/Adding-menu-items-via-designer-images/parentBarItemNetCore.gif b/WindowsForms/Menu/Adding-menu-items-via-designer-images/parentBarItemNetCore.gif
new file mode 100644
index 000000000..0a0d2c03d
Binary files /dev/null and b/WindowsForms/Menu/Adding-menu-items-via-designer-images/parentBarItemNetCore.gif differ
diff --git a/WindowsForms/Menu/Adding-menu-items-via-designer.md b/WindowsForms/Menu/Adding-menu-items-via-designer.md
index 121008867..d450f6607 100644
--- a/WindowsForms/Menu/Adding-menu-items-via-designer.md
+++ b/WindowsForms/Menu/Adding-menu-items-via-designer.md
@@ -38,6 +38,14 @@ The [ParentBarItem](https://help.syncfusion.com/cr/windowsforms/Syncfusion.Windo

+### Arrange controls through drag and drop within form
+
+`ParentBarItem` can be dragged and dropped into a custom form through the `Customize` dialog. This functionality simplifies the process of adding and organizing bar items within the application.
+
+
+
+Note: This UI is only applicable for `.NET Core`.
+
## Adding drop down item
The [DropDownBarItem](https://help.syncfusion.com/cr/windowsforms/Syncfusion.Windows.Forms.Tools.XPMenus.DropDownBarItem.html) is a type of bar item, which will display a popup menu when clicked. A custom control can also be loaded and displayed when the menu item is clicked. This can be done by assigning the required component to the [PopupControlContainer](https://help.syncfusion.com/cr/windowsforms/Syncfusion.Windows.Forms.Tools.XPMenus.DropDownBarItem.html#Syncfusion_Windows_Forms_Tools_XPMenus_DropDownBarItem_PopupControlContainer) property of the drop down bar item.
diff --git a/WindowsForms/Numeric-TextBox/GettingStarted.md b/WindowsForms/Numeric-TextBox/GettingStarted.md
index 5e3fee6d7..718fb0c66 100644
--- a/WindowsForms/Numeric-TextBox/GettingStarted.md
+++ b/WindowsForms/Numeric-TextBox/GettingStarted.md
@@ -176,6 +176,10 @@ Me.numericTextBox.NumberFormatInfo = New CultureInfo("de-DE").NumberFormat

+N>The [SfNumericTextBox](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.Input.SfNumericTextBox.html) control preserves the full precision of the assigned value in its [Value](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.Input.SfNumericTextBox.html#Syncfusion_WinForms_Input_SfNumericTextBox_Value) property while displaying the formatted value in the text box. This ensures that you can use the exact value for future calculations without losing accuracy. While editing, the Value property will be updated based on the current value in the textbox.
+
+
+
## Watermark
SfNumericTextBox comes with the in-built watermark support. [WatermarkText](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.Input.SfNumericTextBox.html#Syncfusion_WinForms_Input_SfNumericTextBox_WatermarkText) helps to display the details about what value need to enter. [WatermarkText](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.Input.SfNumericTextBox.html#Syncfusion_WinForms_Input_SfNumericTextBox_WatermarkText) property allows to show the watermark for the control when the value of the control is set to null.
diff --git a/WindowsForms/Numeric-TextBox/GettingStarted_images/FullPrecisionValue.png b/WindowsForms/Numeric-TextBox/GettingStarted_images/FullPrecisionValue.png
new file mode 100644
index 000000000..ecd920566
Binary files /dev/null and b/WindowsForms/Numeric-TextBox/GettingStarted_images/FullPrecisionValue.png differ
diff --git a/WindowsForms/Release-notes/v32.1.19.md b/WindowsForms/Release-notes/v32.1.19.md
new file mode 100644
index 000000000..d67b99c6c
--- /dev/null
+++ b/WindowsForms/Release-notes/v32.1.19.md
@@ -0,0 +1,86 @@
+---
+title: Essential Studio® for Windows Forms Release Notes - v32.1.19
+description: Learn here about the controls in the Essential Studio® for Windows Forms 2025 Volume 4 Main Release - Release Notes - v32.1.19
+platform: windowsforms
+documentation: ug
+---
+
+# Essential Studio® for Windows Forms - v32.1.19 Release Notes
+
+{% include release-info.html date="December 16, 2025" version="v32.1.19" passed="8494" failed="0" %}
+
+{% directory path: _includes/release-notes/v32.1.19 %}
+
+{% include {{file.url}} %}
+
+{% enddirectory %}
+
+## Test Results
+
+| Component Name | Test Cases | Passed | Failed | Remarks |
+|---------------|------------|--------|--------|---------|
+| AutoComplete | 58 | 58 | 0 | All Passed |
+| Breadcrumb | 1 | 1 | 0 | All Passed |
+| Button | 4 | 4 | 0 | All Passed |
+| ButtonAdv | 14 | 14 | 0 | All Passed |
+| Calculate | 127 | 127 | 0 | All Passed |
+| Calendar | 1 | 1 | 0 | All Passed |
+| Carousel | 5 | 5 | 0 | All Passed |
+| CheckBox | 124 | 124 | 0 | All Passed |
+| Color Picker | 28 | 28 | 0 | All Passed |
+| Color Picker DropDown | 1 | 1 | 0 | All Passed |
+| ComboBox | 95 | 95 | 0 | All Passed |
+| ComboBoxAdv | 339 | 339 | 0 | All Passed |
+| CommandBarController | 1 | 1 | 0 | All Passed |
+| CurrencyEdit | 1 | 1 | 0 | All Passed |
+| DataGrid | 858 | 858 | 0 | All Passed |
+| DateTimePicker | 104 | 104 | 0 | All Passed |
+| DateTimePickerAdv | 44 | 44 | 0 | All Passed |
+| Digital Gauge | 7 | 7 | 0 | All Passed |
+| Docking Manager | 1970 | 1970 | 0 | All Passed |
+| DomainUpDownExt | 4 | 4 | 0 | All Passed |
+| FontListBox | 2 | 2 | 0 | All Passed |
+| Form | 23 | 23 | 0 | All Passed |
+| Gradient Panel | 4 | 4 | 0 | All Passed |
+| GroupView | 2 | 2 | 0 | All Passed |
+| HTML Viewer | 52 | 52 | 0 | All Passed |
+| Image Streamer | 1 | 1 | 0 | All Passed |
+| Linear Gauge | 58 | 58 | 0 | All Passed |
+| ListView | 65 | 65 | 0 | All Passed |
+| Menu | 3 | 3 | 0 | All Passed |
+| MessageBox | 2 | 2 | 0 | All Passed |
+| Metro Form | 26 | 26 | 0 | All Passed |
+| Multicolumn ComboBox | 8 | 8 | 0 | All Passed |
+| Multicolumn TreeView | 97 | 97 | 0 | All Passed |
+| Navigation Drawer | 52 | 52 | 0 | All Passed |
+| Navigation Pane | 37 | 37 | 0 | All Passed |
+| Numeric TextBox | 5 | 5 | 0 | All Passed |
+| Office 2007 Form | 61 | 61 | 0 | All Passed |
+| PercentTextBox | 1 | 1 | 0 | All Passed |
+| Pivot Chart | 122 | 122 | 0 | All Passed |
+| Pivot Grid | 215 | 215 | 0 | All Passed |
+| Popup | 4 | 4 | 0 | All Passed |
+| Progress Bar | 3 | 3 | 0 | All Passed |
+| Radial Gauge | 85 | 85 | 0 | All Passed |
+| Radial Menu | 2 | 2 | 0 | All Passed |
+| Radial Slider | 12 | 12 | 0 | All Passed |
+| Range Slider | 4 | 4 | 0 | All Passed |
+| Rating Control | 1 | 1 | 0 | All Passed |
+| Ribbon | 1491 | 1491 | 0 | All Passed |
+| Scroll Frame | 1 | 1 | 0 | All Passed |
+| SfDataPager | 95 | 95 | 0 | All Passed |
+| Spell Checker | 38 | 38 | 0 | All Passed |
+| Splash Screen | 2 | 2 | 0 | All Passed |
+| Split Button | 15 | 15 | 0 | All Passed |
+| StatusStrip | 18 | 18 | 0 | All Passed |
+| SuperToolTip | 2 | 2 | 0 | All Passed |
+| Syntax Editor | 304 | 304 | 0 | All Passed |
+| Tabbed Form | 25 | 25 | 0 | All Passed |
+| TabbedMdiManager | 478 | 478 | 0 | All Passed |
+| TabControl | 724 | 724 | 0 | All Passed |
+| TextBox | 13 | 13 | 0 | All Passed |
+| ToolBar | 5 | 5 | 0 | All Passed |
+| TrackBar | 1 | 1 | 0 | All Passed |
+| Tree Navigator | 17 | 17 | 0 | All Passed |
+| TreeView | 438 | 438 | 0 | All Passed |
+| XpTaskbar | 94 | 94 | 0 | All Passed |
\ No newline at end of file