यह कुछ समय हो गया है क्योंकि मैंने ड्रैग/ड्रॉप से गड़बड़ कर ली है, इसलिए मुझे लगा कि मैं एक त्वरित नमूना लिखूंगा।
असल में, मेरे पास एक फॉर्म है, बाईं ओर एक सूची बॉक्स के साथ, और दाईं ओर एक वृक्षदृश्य। फिर मैंने शीर्ष पर एक बटन रखा। जब बटन क्लिक किया जाता है, तो यह अगले दस दिनों की तारीख सूची बॉक्स में रखता है। यह ट्री व्यू को 2 माता-पिता नोड्स और दो बाल नोड्स के साथ भी पॉप्युलेट करता है। फिर, आपको इसे काम करने के लिए सभी बाद के ड्रैग/ड्रॉप ईवेंट को संभालना होगा।
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.treeView1.AllowDrop = true;
this.listBox1.AllowDrop = true;
this.listBox1.MouseDown += new MouseEventHandler(listBox1_MouseDown);
this.listBox1.DragOver += new DragEventHandler(listBox1_DragOver);
this.treeView1.DragEnter += new DragEventHandler(treeView1_DragEnter);
this.treeView1.DragDrop += new DragEventHandler(treeView1_DragDrop);
}
private void button1_Click(object sender, EventArgs e)
{
this.PopulateListBox();
this.PopulateTreeView();
}
private void PopulateListBox()
{
for (int i = 0; i <= 10; i++)
{
this.listBox1.Items.Add(DateTime.Now.AddDays(i));
}
}
private void PopulateTreeView()
{
for (int i = 1; i <= 2; i++)
{
TreeNode node = new TreeNode("Node" + i);
for (int j = 1; j <= 2; j++)
{
node.Nodes.Add("SubNode" + j);
}
this.treeView1.Nodes.Add(node);
}
}
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
TreeNode nodeToDropIn = this.treeView1.GetNodeAt(this.treeView1.PointToClient(new Point(e.X, e.Y)));
if (nodeToDropIn == null) { return; }
if(nodeToDropIn.Level > 0)
{
nodeToDropIn = nodeToDropIn.Parent;
}
object data = e.Data.GetData(typeof(DateTime));
if (data == null) { return; }
nodeToDropIn.Nodes.Add(data.ToString());
this.listBox1.Items.Remove(data);
}
private void listBox1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
this.listBox1.DoDragDrop(this.listBox1.SelectedItem, DragDropEffects.Move);
}
}
क्या आप अपनी पोस्ट संपादित कर सकते हैं और हमें बता सकते हैं कि आपको किस समस्या का सामना करना पड़ रहा है? यहां पर लोग "कृपया कोड को भेजें" टाइप करने के लिए अच्छी प्रतिक्रिया नहीं देते हैं –