@ pinkfloydx33 के जवाब और संपादित मैं इस पर किए गए आधार पर, मैं एक विस्तार बनाया सक्षम करें या किसी नियंत्रण, प्रपत्र, मेनू, subcontrols, आदि को निष्क्रिय करने के
public static class GuiExtensionMethods
{
public static void Enable(this Control con, bool enable)
{
if (con != null)
{
foreach (Control c in con.Controls)
{
c.Enable(enable);
}
try
{
con.Invoke((MethodInvoker)(() => con.Enabled = enable));
}
catch
{
}
}
}
}
अब, बस कार्य करें:: विधि यह और भी आसान बना देता है, बस एक public static class
इस प्रकार बना
this.Enable(true); //Will enable all the controls and sub controls for this form
this.Enable(false);//Will disable all the controls and sub controls for this form
Button1.Enable(true); //Will enable only the Button1
तो, मैं क्या करना होगा, @ pinkfloydx33 के जवाब के रूप में समान:
private void Form1_Load(object sender, EventArgs e)
{
this.Enable(false);
Button1.Enable(true);
}
मैं विस्तार तरीकों की तरह है क्योंकि वे स्थिर हैं और आप उदाहरणों बनाने (स्वयं) के बिना हर जगह इसका इस्तेमाल कर सकते हैं और यह बहुत स्पष्ट है कम से कम मेरे लिए।
क्या आप बटन को एक अलग रूप में रखना चाहिए? – SLaks
क्या आप फॉर्म पर सभी नियंत्रणों के माध्यम से लूप नहीं कर सकते हैं, प्रत्येक पर सक्षम संपत्ति सेट कर सकते हैं? अपने लूप में, आईडी/नाम का उपयोग करके बटन को अनदेखा करें। या, आगे बढ़ें और लूप में सबकुछ अक्षम करें, उसके बाद तुरंत बटन सक्षम करें। –