2016-08-20 69 views
0

所以我有这样的代码:点击表格?

private void PanelsFade() 
{ 
    var _initialStyle = GetWindowLong(Handle, -20); 
    SetWindowLong(this.Handle, -20, _initialStyle | 0x80000 | 0x20); 
    if (Opacity == 1) { 
     Opacity = 0.5; 
    } 
} 

private void PanelsShow() 
{ 
    var _initialStyle = GetWindowLong(Handle, -20); 
    SetWindowLong(this.Handle, -20, _initialStyle | ~(0x80000 | 0x20)); 
    if (Opacity == 0.5) { 
     Opacity = 1; 
    } 
} 

当我淡出面板我可以通过单击它们像预想的那样,但是当我恢复面板(PanelsShow()),我仍然可以通过单击它们(无法点击按钮,等)...

+1

我觉得这是更好,如果你保存了原有的风格在变量中,只设置在'PanelsShow'代替。 –

回答

1

我测试了你的代码,并且你正在做的不是删除按位组合数字的正确方法。

此:

_initialStyle | ~(0x80000 | 0x20) 

应该是这样的:

_initialStyle & ~(0x80000 | 0x20)