小弟在编写程序的时候,碰到的一个问题,希望有高手可以指点解决方法。
为了问题简洁,我做了一个实例程序。这个是个窗体程序,窗体上就两个控件:按钮和文本框(多行的)。程序代码如下:
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }        static int n = 0;
        delegate void count();        private void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;
            count onCount = new count(countOn);
            onCount();
            button1.Enabled = true;
        }        void countOn()
        {
            Thread.Sleep(3000);
            textBox1.Text += (n++).ToString() + "\r\n";
        }
    }
现在问题是,在按钮变为灰色后,点击按钮依然有效。怎么实现在按钮变灰过程中,按钮是无效的呢?

解决方案 »

  1.   

    private void button1_Click(object sender, EventArgs e)
     {
                button1.Enabled = false;
                count onCount = new count(countOn);
                onCount();
                Application.DoEvent();
                button1.Enabled = true;
    }
      

  2.   

    你把button1.Enabled = fales放到 按钮要开始变灰的时候,然后给按钮附个颜色,在开始渐变成灰?