【发布时间】:2016-11-01 13:17:40
【问题描述】:
我想拥有一个Button
- 当
TreeView中的一个节点被选中时获取Enabled - 当
TreeView中的节点失去焦点时获取Disabled
我的Form 有两个TreeViews:
- 包含书籍的 TreeView
- 包含贷款的 TreeView
当其中一个具有当前选择时,我希望另一个取消选择其项目。
我在Form 中也有一个ComboBox。
当TreeView with Loan(s) 选择了一个项目时,我想按下一个按钮来归还这笔贷款。但是一旦我尝试按下按钮,它就会被禁用并且我无法与之交互。
我试过这样解决:
private void treeViewLoans_AfterSelect(object sender, TreeViewEventArgs e)
{
ReturnLoanButtonCheck();
}
private void treeViewLoans_Leave(object sender, EventArgs e)
{
treeViewLoans.SelectedNode = null;
ReturnLoanButtonCheck();
}
private void ReturnLoanButtonCheck()
{
if (treeViewLoans.SelectedNode == null)
buttonReturnLoan.Enabled = false;
else if (treeViewLoans.SelectedNode != null)
buttonReturnLoan.Enabled = true;
}
当我尝试按下按钮时,组合框获得焦点。
我在这里做错了什么?
【问题讨论】:
-
它将禁用,因为一旦您单击按钮,treeviewnode 就会失去焦点并因此禁用。你不能在树视图中没有按钮吗?
-
是的。如果我将按钮放在树视图中,按钮不会隐藏它后面的项目吗?
-
如果您将按钮设为父按钮的子按钮,则不会。它应该像另一个其他节点一样扩展,这意味着一切都会向下移动
-
我什至从未意识到你可以做到这一点。谢谢!这基本上为我打开了一个新世界!
-
WPF 可以成为我朋友的学习曲线 :) 我们都曾在某个时候到达过您所在的位置