winform中treeview 透明背景

sunnyfire 2005-09-07 11:35:35
使用C#在winform中如何给treeview添加透明背景?
...全文
1230 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
止戈而立 2005-12-01
  • 打赏
  • 举报
回复
旁听。。
diandian82 2005-12-01
  • 打赏
  • 举报
回复
树结点的背景色能不能改变?
diandian82 2005-12-01
  • 打赏
  • 举报
回复
但我发现,背景透明了以后就不能选中节点了
diandian82 2005-12-01
  • 打赏
  • 举报
回复
我试验了一下,果然可以。
this.treeView1.BackColor = Color.Tan;
this.TransparencyKey = Color.Tan;
阿非 2005-12-01
  • 打赏
  • 举报
回复
mark
jonnyyu 2005-11-30
  • 打赏
  • 举报
回复
lee_j你的方法好像不是一般意义上的透明背景的treeview,而是整个form都透明了
lee_j 2005-11-30
  • 打赏
  • 举报
回复
先把TreeView的BackColor设成某一个颜色:
treeView1.BackColor = Color.Tan;

然后设Form的TransparencyKey成为这个颜色:
Form1.TransparencyKey = treeView1.BackColor;
seekg 2005-11-30
  • 打赏
  • 举报
回复
旁听
jimh 2005-11-30
  • 打赏
  • 举报
回复
控件里
使用this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); 透明背景是不可实现的,因为TreeView,ListView内部使用了很多东西来加速滚动显示,会把背景一起滚动,如果真的要实现,响应onpaint事件,先画背景,然后分别发送DrawItem事件到每一个可见的Item是比较可行的方案,不过我没有试过。
neilwang 2005-11-30
  • 打赏
  • 举报
回复
从底层写也难?如何指定一个子窗口(treeview)的背景为透明的?
Knight94 2005-11-30
  • 打赏
  • 举报
回复
很难直接实现,如果你非要实现的话,建议重新写一个treeview,从底层写起
diandian82 2005-11-30
  • 打赏
  • 举报
回复
private void Form1_Load(object sender, System.EventArgs e)
{
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
}

这样不能把窗体弄成透明的啊?到底怎么弄阿?
chenyangwqq828 2005-11-30
  • 打赏
  • 举报
回复
这样做是不行的,要重画TreeNode才能实现。
julong88 2005-09-13
  • 打赏
  • 举报
回复
我在.net cf里试过onpaint()没效果的
onpaint()
singlepine 2005-09-08
  • 打赏
  • 举报
回复
使控件拥有透明背景色:
在控件的代码编辑器中找到构造函数。
在构造函数中调用窗体的 SetStyle。
' Visual Basic
SetStyle(ControlStyles.SupportsTransparentBackColor, True)
// C#
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
这将使控件能够支持透明背景色。
在步骤 1 中添加的代码行下再添加下面的代码行。这将把控件的 BackColor 设置为 Transparent。
' Visual Basic
Me.BackColor = Color.Transparent
// C#
this.BackColor = Color.Transparent;
注意,还可以通过使用 Color.FromArgb 方法创建半透明颜色。
sunnyfire 2005-09-08
  • 打赏
  • 举报
回复
这个不可能实现
jamesfay 2005-09-08
  • 打赏
  • 举报
回复
我没试过,可singlepine(小山)说的貌似可以阿,在后面加个背景不系好了吗?
littlekeen 2005-09-08
  • 打赏
  • 举报
回复
已经封装好的控件估计不好改了,你想自定义控件?
好象是改写onpaint()
julong88 2005-09-08
  • 打赏
  • 举报
回复
我估计也不可能
像这样的控件还有listview

111,094

社区成员

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

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

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