我想要点击抓拍时 右边picturebox 每隔1秒显示一张图片可是5个picturebox的图片都会在button_Click结束后同时显示如何才能修改成我想要的样子

解决方案 »

  1.   

    http://wenku.baidu.com/view/e04585a3b0717fd5360cdcbb.html
    图片编辑器,给你个网址学学下,或许有用
      

  2.   


    详细代码都在这里了 暂停1秒是用thread.sleep 就是运行时picturebox已经被赋值 但显示都是在完成button_click后同时更新照片
      

  3.   

    可以使用Timer控件,或其他多线程
      

  4.   

    虽然 不怎么明白你的意思 不过我猜 你是想 点击按钮后 右边的几个图片框 每格一秒 然后干什么 而 你的程序却在点击按钮后 瞬间就完成了你的功能呢 !、、
    using System.Threading;
    private void BTN_Click(object sender,EventArgs e){
        new Thread(new ThreadStard(() => {Thread.Sleep(1000);InvokeMethod();})).Start();
    }
    public void InvokeMethod(){
        this.Invoke(new MethodInvoker(() => {做你要做的事情}));
    }凭空敲的代码 不知道 有没有错!、、、
      

  5.   

    我就知道我SB了、、所以 特地用 vs 敲了一下
            int temp = 0;
            private void button1_Click(object sender, EventArgs e) {
                button1.Enabled = false;
                temp = 0;
                new Thread(new ThreadStart(() => {
                    for (int i = 0; i < 5; i++) {
                        Thread.Sleep(1000);
                        temp = i;
                        InvokeMethod();
                    }
                })).Start();
            }
            public void InvokeMethod() {
                this.Invoke(new MethodInvoker(() => {
                    //做你要做的事情 比如下面
                    this.Text += "8";
                    if (temp == 4)
                        button1.Enabled = true;
                }));
            }
      

  6.   


            int temp = 0;
            private void button1_Click(object sender, EventArgs e) {
                button1.Enabled = false;
                temp = 0;
                new Thread(new ThreadStart(() => {
                    for (int i = 0; i < 5; i++) {
                        Thread.Sleep(1000);
                        temp = i;
                        InvokeMethod();
                    }
                })).Start();
            }
            public void InvokeMethod() {
                this.Invoke(new MethodInvoker(() => {
                    //做你要做的事情 比如下面
                    this.Text += "8";
                    if (temp == 4)
                        button1.Enabled = true;
                }));
            }
      

  7.   

    可以用定时器来实现啊。放个timer控件。
      

  8.   

    使用timer控件时 因为不知道其他程序具体运行了多久 因此很难控制时间
    教我多线程的这个哥哥 谢谢你的代码 虽然没用上去 但是大致让我学习了多线程是怎么回事后来发现 pictureBox控件重新赋值后的显示 需要一个较长的反应时间 因此程序内部赋值虽然是一秒钟一副image 但是控件未能及时响应 出现几个pictureBox同时显示出图像现在还没能完美解决 T-T
      

  9.   

    timer控件根据运行情况会有时间延迟。所以不精确。