TreeView 节点拖拽问题

kldsg 2007-08-07 09:07:55
treeview 有没有属性支持了按Ctrl或Shift多选treeview中的节点
拖拽时候 选中状态会不会消失(看别的贴说要自己家东西才行)

我要拖拽到gridview里 怎么获得节点信息

各位帮帮忙吧
有个英文文档
不过看不懂啊
...全文
241 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingonehappy 2007-08-10
  • 打赏
  • 举报
回复
控件属性AllowDrop 必须设置为true
kldsg 2007-08-09
  • 打赏
  • 举报
回复
to kingonehappy(掐死你的温柔)

按照你说的第一步
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
{

treeView1.DoDragDrop(e.Item, DragDropEffects.Copy);

}
第二步
private void dataGridView2_DragOver(object sender, DragEventArgs e)
{
Point pt = dataGridView2.PointToClient(new Point(e.X, e.Y));
DataGridView.HitTestInfo hti = dataGridView2.HitTest(pt.X, pt.Y);
if (hti.Type == DataGridViewHitTestType.Cell)
{

e.Effect = DragDropEffects.Copy;
}
else
{

e.Effect = DragDropEffects.None;
}

}
第三步
private void dataGridView2_DragDrop(object sender, DragEventArgs e)
{

if (e.Data.GetDataPresent(GetType()))
{

Point pt = dataGridView2.PointToClient(new Point(e.X, e.Y));
DataGridView.HitTestInfo hti = dataGridView2.HitTest(pt.X, pt.Y);
if (hti.Type == DataGridViewHitTestType.Cell)
{

TreeNode node = (TreeNode)e.Data.GetData(typeof(TreeNode));
arrfilter.Add(node.Name);

if (dataGridView2.RowCount.Equals(0))
{

Creatdatagridview();
}
else
{

Savadatagridview();
}

}
}
}

可是后两个事件根本没执行过啊
闹到是你说的辅助事件也必须写?
chuxue1342 2007-08-08
  • 打赏
  • 举报
回复
mark
huangbznet 2007-08-08
  • 打赏
  • 举报
回复
进来学习一下
nacarat 2007-08-08
  • 打赏
  • 举报
回复
没有自己加
kldsg 2007-08-08
  • 打赏
  • 举报
回复
to leixueqiyi(雨过昕)
选中状态怎么表示出来啊
kldsg 2007-08-08
  • 打赏
  • 举报
回复
这些我自己也在这里搜到过
不过感觉控件不一样
事件阿属性都不一样啊
我不是高手
就是搞不懂用什么事件和属性
kldsg 2007-08-07
  • 打赏
  • 举报
回复
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
if (Control.ModifierKeys == Keys.Control && e.Button == MouseButtons.Left)
{
MessageBox.Show("ctrl+Left");
}
else if (Control.ModifierKeys == Keys.Shift && e.Button == MouseButtons.Left)
{

MessageBox.Show("Shift+Left");
}
else if (e.Button == MouseButtons.Left)
{

//MessageBox.Show("left");
}
else
{ }

}

我暂时这样做的
不过不知道 能不能多选
怎么能让它多选吗
godgreat 2007-08-07
  • 打赏
  • 举报
回复
你没表达清楚
leixueqiyi 2007-08-07
  • 打赏
  • 举报
回复
你可以用代码控制
leixueqiyi 2007-08-07
  • 打赏
  • 举报
回复
treeview 没有属性支持了按Ctrl或Shift多选treeview中的节点
你在选中时,把资料信息用一个临时的datarow记录,然后添加到gridview
godgreat 2007-08-07
  • 打赏
  • 举报
回复
沙发 ,帮忙顶
kingonehappy 2007-08-07
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5692/5692127.xml?temp=.4370539
kingonehappy 2007-08-07
  • 打赏
  • 举报
回复
这里我写过 http://community.csdn.net/Expert/topic/5692/5692708.xml?temp=.2551996
kldsg 2007-08-07
  • 打赏
  • 举报
回复
别的活都作差不多了
各位给解决一下吧
明后天要交了

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧