this.myTreeView.FullRowSelect = true;
this.myTreeView.Size = new System.Drawing.Size(170, 300);
当我使用这个属性myTreeView.Enabled = false
时,它就像这样:
仅阴影树区域,但不是所有控件,如何修复此问题? (使所有控件都被遮蔽)
答案 0 :(得分:0)
这只是一种效果,但重要的是它会禁用整个控件。事实上,如果您尝试例如,滚动条也被禁用。但是你可以尝试使用一个肮脏的技巧来实现这个效果:
public class CostumizedTreeView : TreeView {
Color defaultBackColor;
public CostumizedTreeView( ) {
defaultBackColor = BackColor;
}
public void Enable( bool Enabled ) {
this.Enabled = Enabled;
if ( !Enabled )
BackColor = Color.LightGray;
else
BackColor = defaultBackColor;
}
}
当禁用时达到此目的:
否则,您可以使用 DevExpress 或 Telerik 控件创建自己的自定义控件。有关详细信息look here。
答案 1 :(得分:0)
怎么样:
.... Form()
{
this.InitializeComponent();
treeView1.EnabledChanged += (s, o) =>
{
treeView1.BackColor = treeView1.Enabled ? Color.White : SystemColors.Control;
};
....
}