我想在按钮按下时,让它不可用,但当程序运行完(此按钮所触发的)又可以用了
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Button4.Enabled = False
    '程序
        System.Threading.Thread.Sleep(1000)
        Button4.Enabled = True
End Sub可是好像是不行呢给个建义吧。。

解决方案 »

  1.   

    webform方式不行。winform到没有问题
      

  2.   

    Button4_Click执行完了才刷新网页,所以是没效果的,
    只能结合js
      

  3.   

    具体实现可以考虑以下思路:
    在客户端的click发生时设置控件不可用。
    服务器端在加载页面时让控件可用。流程如下:
    加载页面(按钮可用)-用户点击-客户端使控件不可用-触发服务器端代码-执行完重新加载页面(又可用了)假设按钮为btn1:在pageload里:
    btn1.Enable=true;
    btn1.Attributes.Add("onclick","document.all.btn1.Disabled=false;return true;");
      

  4.   

    <input type="button" id="btnIdOK" name="btnOK" onclick="javascript:Disabled=true" runat=server >
    在程序结束时,btnIdOK.Enabled=true
      

  5.   

    syeerzy(快乐永远)
     fangxinggood(JustACoder)
    我用楼上两位的方法,都不行。。一个是说document.all.btn1为空或不是对象,一个说'javascript' is not a member of 'ASP.test_m_aspx'.
      

  6.   

    我晕,我这么写你就这么复制过去了啊??document.all.btn1为空或不是对象。。改为你的btn1的完整名称啊!!
    你又没贴那么多代码我哪知道你的完整名称怎么写?
    关键是思路,不是复制代码!
      

  7.   

    Disabled=false写错了,是true。不好意思
      

  8.   

    syeerzy(快乐永远)
    日,怎么可以呢
      

  9.   

    to:syeerzy(快乐永远)
    当然。。有改了。。只是我写出来还是按原来的代号出来
    又改了还是不行。
    指点。谢谢
      

  10.   

    还有。我想问一下,你那个pageload是不是就是.net中的Sub Page_Load呢?
      

  11.   

    流程如下:
    加载页面(按钮可用)-用户点击-客户端使控件不可用-触发服务器端代码-执行完重新加载页面这个思路没有问题。
    关键在客户端你的javascript :)
    在你aspx页加入如下javascript:
    <!-- Button1 为你的Web控件中Button的id -->
    <script event=onclick for=Button1 lanuage=javascript>
    document.all.Button1.disabled = true;
    </script>
    注意: 是disabled不是Disabled!