using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private const int WM_SYSCOMMAND = 0x0112; private const int SC_MOVE = 0xF010; private const int HTCAPTION = 0x0002; [DllImport("user32.dll")] private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); private void AddCardButton_Click(object sender, EventArgs e) { RichTextBox newRichTextBox = new RichTextBox { Size = new Size(200, 100), Location = new Point(10, 30 + (cardPanel.Controls.Count * 120)), BackColor = Color.White, ForeColor = Color.Black }; newRichTextBox.MouseDown += NewRichTextBox_MouseDown; cardPanel.Controls.Add(newRichTextBox); } private void NewRichTextBox_MouseDown(object sender, MouseEventArgs e) { RichTextBox rtx = (RichTextBox)sender; rtx.Capture = false; SendMessage(rtx.Handle, WM_SYSCOMMAND, new IntPtr(SC_MOVE | HTCAPTION), IntPtr.Zero); } }