winform中實現不重複建立窗體

2022-01-19 10:40:09 字數 685 閱讀 6904

晚上有網友問了個問題,「通過button的click事件,例項化乙個窗體,並show()。當我多次點選button時,會產生多個窗體。請問怎麼解決這個問題?不想通過設定button的enable=false來解決這個問題。」其實這也算是乙個比較實際的問題,有網友回答說可以使用模式窗體,呵呵,稍微想了下確實是可以解決問題。另一網友提出若不用模態框可否解決。我的第一反應就是加判斷,隨意回了句「先判斷窗體是否存在。」。正好我剛建立了個新專案,打算隨便寫點小程式,於是試寫下怎麼判斷。

我的做法是:起始視窗(frmmain)中加個按鈕,新增乙個新窗體,命名為frmtest(可選);在按鈕單擊事件中作判斷,完整**如下:

public partial class frmmain : form

private void button1_click(object sender, eventargs e)

else

}}

這樣做基本是可以解決問題了。有網友建議不要提示窗體存在,直接將窗體顯示出來就行了,因此將**改為:

public partial class frmmain : form

private void button1_click(object sender, eventargs e)

frm.show();

frm.activate();

}}

利用Ibatis實現Mysql中的不重複插入記錄

以下討論全部針對mysql資料庫 通常業務上至少需要兩種型別的不重複插入記錄的需求 1 針對上面的第一種,mysql提供了insert into on duplicate key update 語法 mysql自己的語法,不屬於標準sql 來實現。這種場景相對常見。使用的前提是,需要定義主鍵或者唯一...

C 實現建立winform

有空自己總結下 設定方法 開啟test.sln之後,在專案的屬性頁,配置屬性 鏈結器 系統 子系統 選擇 windows subsystem windows 原先為 控制台 subsystem console 然後在 配置屬性 c c 預處理器 預處理定義 去掉 console,新增 windows...

Qt建立不重複隨機數

該 建立乙個隨機數的類。建構函式有兩個 1 引數為乙個整形數,如傳入300,則產生0 299的隨機數,其中隨機數不重複。2 引數為qlist,根據這個list直接初始化。標頭檔案 ifndef rand num define rand num include class randnum endif ...