如果某個條件成立,我有一個表格,我可以通過上的this.Enabled = false
將其設置爲禁用。如何激活禁用表單的控制框?
但是,這也會禁用控制框(最大化框,最小化框和關閉框)。
因此,當表單被禁用時,我無法關閉它,因爲關閉框也被禁用。
Is there away我可以禁用窗體,但離開關閉框啓用,以便我可以關閉禁用窗體?
這種形式'OnClose
事件也會退出應用程序。
如果某個條件成立,我有一個表格,我可以通過上的this.Enabled = false
將其設置爲禁用。如何激活禁用表單的控制框?
但是,這也會禁用控制框(最大化框,最小化框和關閉框)。
因此,當表單被禁用時,我無法關閉它,因爲關閉框也被禁用。
Is there away我可以禁用窗體,但離開關閉框啓用,以便我可以關閉禁用窗體?
這種形式'OnClose
事件也會退出應用程序。
如果條件爲真,可以構建一個小方法,並禁用此表單中可用的所有控件/容器。
僞代碼:
private void Form1_Load()
{
if(condition)
{
DisableControls();
}
}
private void DisableControls()
{
foreach(Control c in this.Controls)
{
// your disable code here.
}
}
編輯
這種方法沒有考慮在控制盒的效果。
像JleruOHeP建議在原始帖子的評論中,我已經有一個tabControl託管在此表單上的所有其他控件。所以只是用它傳遞給你的DisableControls()方法。謝謝 – StackTrace
您可以將面板添加到窗體 - 並將所有組件放置在此面板內。並禁用此面板 – JleruOHeP
@neurotix:不,它的winforms – StackTrace