簡體   English   中英

如何在C#.net中創建一個彈出窗口

[英]how to create a popup window in C#.net

我在不同的系統上有兩個不同的應用程序。如果在一個應用程序中按下一個按鈕,我會將其記錄保存在數據庫中,然后根據記錄我想在第二個應用程序中彈出一個窗口,通知該按鈕在第一個應用程序中被按下。

我該怎么辦? 可行嗎

由於您將記錄存儲在數據庫中,因此可以從第二個應用程序輪詢數據庫,然后根據狀態執行操作。 解決了請求后,您可以在數據庫中標記記錄。

您說過不同的系統(即計算機)。 對?
在這種情況下,您將必須向其他應用程序發送某種消息以啟動彈出窗口。

您正在存儲的數據庫是否可以由兩台計算機訪問?
在這種情況下,如果在一台計算機上按一個應用程序中的按鈕與另一台計算機上的彈出窗口之間有一點延遲(幾秒鍾)是可以接受的,那么您也可以使用某種輪詢。 因此,將顯示彈出窗口的另一個系統可以定期檢查數據庫(例如,每10秒)以查找由Button按下設置的記錄,如果存在,則顯示彈出窗口。

但是,如果這樣的延遲是不可接受的,那么您將需要在兩個應用程序之間使用一些網絡。 因此,可以將消息從按鈕之一直接發送到彈出窗口生成應用程序。

更新資料
是的,對於任何一種解決方案,無論是數據庫輪詢還是網絡連接,您都需要在另一個(彈出)系統上持續運行的exe。

對於數據庫輪詢:

  • 只需創建一個Windows應用程序。
  • 向其添加一個計時器對象,兩次輪詢之間的間隔時間為您想要的毫秒數(在10秒鍾內將其設置為10000)
  • 然后在Tick事件處理程序中為計時器控件編寫數據庫檢索代碼。

對於網絡 :看看以下問題-.net / C#中的網絡

如果您使用SQL Server作為數據庫,則可以使用SQL Server查詢通知

這個討論是類似的... 有關數據庫更改的通知

表格更改時,您會收到通知,而不是使用第二個應用程序中的輪詢。 您可以為此使用一個名為SqlDependency的類。 codeproject上可以看到一個很好的例子。 實際上,該示例聽起來與您要查找的非常接近。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM