using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class DragDropForm : System.Windows.Forms.Form
{
private System.Windows.Forms.ListBox lbDragDropSource;
private System.Windows.Forms.Splitter splitterCentral;
private System.Windows.Forms.TextBox txtMain;
public DragDropForm()
{
InitializeComponent();
this.lbDragDropSource.Items.Add("<html>");
this.lbDragDropSource.Items.Add("<head>");
this.lbDragDropSource.Items.Add("<title>");
this.lbDragDropSource.Items.Add("</title>");
this.lbDragDropSource.Items.Add("</head>");
this.lbDragDropSource.Items.Add("<body>");
this.lbDragDropSource.Items.Add("</body>");
this.lbDragDropSource.Items.Add("</html>");
}
private void InitializeComponent()
{
this.lbDragDropSource = new System.Windows.Forms.ListBox();
this.splitterCentral = new System.Windows.Forms.Splitter();
this.txtMain = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// lbDragDropSource
//
this.lbDragDropSource.Dock = System.Windows.Forms.DockStyle.Left;
this.lbDragDropSource.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lbDragDropSource.IntegralHeight = false;
this.lbDragDropSource.ItemHeight = 20;
this.lbDragDropSource.Name = "lbDragDropSource";
this.lbDragDropSource.Size = new System.Drawing.Size(152, 301);
this.lbDragDropSource.TabIndex = 0;
this.lbDragDropSource.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lbDragDropSource_MouseDown);
this.lbDragDropSource.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.lbDragDropSource_QueryContinueDrag);
//
// splitterCentral
//
this.splitterCentral.Location = new System.Drawing.Point(152, 0);
this.splitterCentral.Name = "splitterCentral";
this.splitterCentral.Size = new System.Drawing.Size(3, 301);
this.splitterCentral.TabIndex = 1;
this.splitterCentral.TabStop = false;
//
// txtMain
//
this.txtMain.AcceptsReturn = true;
this.txtMain.AcceptsTab = true;
this.txtMain.AllowDrop = true;
this.txtMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.txtMain.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.txtMain.Location = new System.Drawing.Point(155, 0);
this.txtMain.Multiline = true;
this.txtMain.Name = "txtMain";
this.txtMain.Size = new System.Drawing.Size(333, 301);
this.txtMain.TabIndex = 2;
this.txtMain.Text = "";
this.txtMain.DragOver += new System.Windows.Forms.DragEventHandler(this.txtMain_DragOver);
this.txtMain.DragDrop += new System.Windows.Forms.DragEventHandler(this.txtMain_DragDrop);
this.txtMain.TextChanged += new System.EventHandler(this.txtMain_TextChanged);
//
// DragDropForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(488, 301);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.txtMain,
this.splitterCentral,
this.lbDragDropSource});
this.Name = "DragDropForm";
this.Text = "Drag and Drop Sample";
this.ResumeLayout(false);
}
static void Main()
{
Application.Run(new DragDropForm());
}
private void lbDragDropSource_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
int nSelectedIndex = lbDragDropSource.SelectedIndex;
string strItem = (string)lbDragDropSource.Items[nSelectedIndex];
DragDropEffects dde = lbDragDropSource.DoDragDrop(strItem,
DragDropEffects.Copy);
if (DragDropEffects.None == dde)
MessageBox.Show("Our drag and drop offer was not accepted.");
}
private void txtMain_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(string)))
{
e.Effect = DragDropEffects.Copy;
}
}
private void txtMain_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(string)))
{
string strData = (string)e.Data.GetData(typeof(string));
txtMain.AppendText(strData);
}
}
private void lbDragDropSource_QueryContinueDrag(object sender, System.Windows.Forms.QueryContinueDragEventArgs e)
{
// DO NOT DO THIS
// e.Action = DragAction.Continue;
}
private void txtMain_TextChanged(object sender, System.EventArgs e)
{
}
}