如何禁用NSMenuItem? 我点击后尝试禁用NSMenuItem。 操作(注销)正确处理了单击。
我尝试通过以下两种方式将Enabled
属性更改为false:
partial void Logout (AppKit.NSMenuItem sender)
{
sender.Enabled = false;
}
和
partial void Logout (AppKit.NSMenuItem sender)
{
LogoutItemOutlet.Enabled = false;
}
但每次调用此操作时,Enabled
字段都会true
。菜单项本身也从未实际禁用。
如何在执行某个操作后禁用NSMenuItem?
答案 0 :(得分:4)
尝试将菜单项Action
设置为null
:
partial void Logout (AppKit.NSMenuItem sender)
{
LogoutItemOutlet.Action = null;
// I don't think you need the following but it won't hurt
LogoutItemOutlet.Enabled = false;
}
答案 1 :(得分:0)
NSMenuItem
Enabled
属性无效,除非将NSMenu
项添加到AutoEnablesItems
,true
已设置为false
(默认为class Y { ... };
/* ================================================== */
class A
{
public:
A(ACfg* cfg);
};
class ACfg { ... };
/* ================================================== */
class B: virtual public A
{
public:
B(ACfg* cfg): A(cfg)
{}
};
/* ================================================== */
class C: virtual public A
{
public:
C(ACfg* cfg): A(cfg) {}
};
/* ================================================== */
template<typename T> class D<T>: public B
{
public:
D(ACfg* cfg);
private:
T member;
};
template<typename T>
D<T>::D(ACfg* cfg): B(cfg) {}
/* ================================================== */
class E: public C, public D<Y>
{
E(ACfg* cfg):
C(cfg), D<Y>(cfg) {}
^
};
/* ================================================== */
class F: public E
{
F(ACfg* cfg): E(cfg) {}
^
};
)。可以通过编程方式或在Interface Builder中设置此属性。