作者:孙英鹏 撰写时间:2019年7月28日
当你打开某一些软件时是不是发现,当你点击一个页面就会出现一堆按钮,这时就会发现有一些按钮是点击不了的,是被禁止的,然而当你点击其他的东西时,被禁止的按钮就会神奇的恢复,就可以点击了,关于按钮被禁止的代码是怎么写的,我们来看一下(我以WPF为例子)。
首先第一步:
功能思路:这个功能要呈现的效果是,当你打开这个页面要新增时,只有新增按钮是可以点的,其他按钮是呈现禁止的状态,等你新增完了想进行修改数据时,点击表格,其他按钮就会呈现出恢复状态。
首先是在页面上呈现出来的,我们就要写一个Loaded页面加载事件,在页面加载事件里面写禁止代码。
代码:
//1.0 页面加载事件
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
//修改、删除按钮初始化
btn_Update.IsEnabled = false;//禁用修改按钮
btn_Update.Opacity = 0.5;
btn_Delete.IsEnabled = false;//禁用删除按钮
btn_Delete.Opacity = 0.5;
}
解释:把按钮的Click事件写好,然后获取按钮的Click名称进行初始化,给它们False是属于禁止的意思,Opacity是属于不透明性的元素,给按钮0.5是呈现禁用透明性,然后就可以了。
第二步:点击表格改变事件,使按钮恢复。
首先在表格DataGrid语句里面写上SelectionChanged事件,然后在SelectionChanged事件里面写表格改变事件。
代码:
//1.3 表格改变事件
private void dgAccountManage_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
//(1)判断是否选中数据
if ((DataRowView)dgAccountManage.CurrentItem != null)
{
//(2)控制修改和删除按钮显示
//激活修改与删除按钮
btn_Update.IsEnabled = true;
btn_Update.Opacity = 1;
btn_Delete.IsEnabled = true;
btn_Delete.Opacity = 1;
}
else
{
//禁用修改与删除按钮
btn_Update.IsEnabled = false;
btn_Update.Opacity = 0.5;
btn_Delete.IsEnabled = false;
btn_Delete.Opacity = 0.5;
}
}
catch (System.Exception)
{
throw;
}
}
解释:首先进行判断,判断是否选中数据,如果选中控制修改和删除按钮显示,激活修改与删除按钮,没选中,就禁用修改与删除按钮,dgAccountManage就是DataGrid语句的x:Name的名称。