台灣最大程式設計社群網站
線上人數
1056
 
會員總數:246691
討論主題:190104
歡迎您免費加入會員
討論區列表 >> C# >> C# button限制在一段時間後不能點擊
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
C# button限制在一段時間後不能點擊
價值 : 50 QP  點閱數:1464 回應數:8
樓主

Martina
門外漢
0 8
190 5
發送站內信

請問如何讓button在一段時間後某筆資料不能被點擊呢?
我知道可以用timer設置,但是我是想form1的button1(新增)按下後跳出form2,然後按下form2的button1(存檔)
假如超過3天之後,這一筆資料就無法在form1按下button2(修改),請問這是可行的嗎?
謝謝~




搜尋相關Tags的文章: [ timer ] , [ button超過時間 ] , [ 限制時間 ] ,
本篇文章發表於2017-09-30 16:16
1樓
不錯的參考

小魚
檢舉此回應
有一種方法是使用本機資料庫,
將時間記在資料庫裡面,
如果超過預定的時間就讓button不能使用,
不過你還是每秒或每隔多少時間要用Timer抓一次資料庫。
本篇文章回覆於2017-09-30 19:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Martina
檢舉此回應
我的資料庫是ACCESS,每一筆都會有自己的訂單編號,還有新增時間跟修改時間
新增時間是新增這一筆訂單時間會自動帶入,然後修改時間是每修改一次會更新時間,但是新增時間不變
所以想要依照每一筆的新增時間下去計算說超過3天就不能按下form1的button2
我目前在form1增加了一個timer,可是我按下button1 新增資料後,button2(修改)就直接false了
所以我在想應該是我的if那一段該怎麼設置成(現在時間)大於修該時間3天

本篇文章回覆於2017-10-02 08:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

Daimom
捐贈 VP 給 Daimom 檢舉此回應
先用sql算出 新增的 日期+3day的日期 =未來的日期

ref.https://www.techonthenet.com/access/functions/date/dateadd.php
然後在顯示資料的時候,或讀取資料的時候,
判斷今天的日期是否有> 未來的日期
有就disable
沒有就不處理
本篇文章回覆於2017-10-02 09:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小魚
檢舉此回應
你的SQL有點太簡單了,
這部分其實可以先在SQL下判斷,
或是在SQL利用語法增加一個欄位,
通過那個欄位來判斷是否超過時間了。
本篇文章回覆於2017-10-03 01:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Martina
檢舉此回應
Daimom
以我能理解的下去寫,不知道對不對

我先抓資料庫的日期出來=dataTimePick1,然後再多增加一個dataTimePicker2=dataTimePicker1+1天(未來日期)
再判斷dataTimePicker2是否小於今天,否則button2.Enabled = false;


本篇文章回覆於2017-10-03 15:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
不錯的參考

春天
檢舉此回應
DataTime可以直接比大小
本篇文章回覆於2017-10-03 17:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Martina
檢舉此回應
datatime可以直接比大小
請問是在資料庫裡直接比大小嗎?
本篇文章回覆於2017-10-05 10:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
select count(*) as l_count
from aaa
where date > '2017/09/01'

if (l_count > 0)
....
else
...
其實在哪比較都可以,沒硬性規定。
看的懂比較重要

另外,我上面說的是直接透過sql的語法把日期相加,
你的作法是在c# 直接加天數。

這兩種作法都可以,
但你要想想效率這件事。

如果你在資料庫直接把該顯示的資料都顯示出來,
那就不用再花時間到c#再執行一次計算日期。
本篇文章回覆於2017-10-06 13:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.