c如何實現窗體只能被例項一次,C 如何實現乙個窗體只能被例項一次

2022-03-04 11:13:05 字數 2537 閱讀 7729

1樓:

你的意思就是子窗體只能開啟一次,這個需要在你的mdi窗體增加開啟子窗體判斷。

**:///

/// 判斷窗體是否已開啟

///private bool ischildformexist(form frm)

}return false;

}///

/// 開啟視窗

///private void showform(form frm)呼叫事件裡面:

if (!this.ischildformexist(this.frmgoodlist))

2樓:

可以考慮使用擴充套件方法,只是呼叫的地方進行修改,不建議使用 標題來判斷

雖然同乙個窗體,標題很有可能不一樣,如一些訂單詳情,標題可能帶了訂單號...

從業務和可讀性來說也不應該這麼做.

3樓:暴瓊枋

以前我用vb.net寫過乙個東西,思路說一下,不知道是不是你需求的乙個窗體載入器,類似工廠模式那樣,由它負責排程你所用到的form物件載入器裡有乙個字典dictionary[t,form] where t : form

請求時,傳遞目標窗體的型別泛型,然後載入器在字典中查詢是否有例項,有就返回,沒有就新建乙個再返回

銷毀的時候也一樣

c#如何讓同乙個視窗只能開啟一次

4樓:滄海v飛天

很簡單 單例模式

那就用個bool值吧 設乙個不是私有的bool變數,初始設為true,開啟的時候改為false,關閉的時候設為true就可以了。如果為false,那就把焦點給它就可以了

看看這個

public partial class form2 : formprivate static form2 f2 = new form2();

public static form2 getf2()else }

} 還不給分 更待何時

private void button1_click(object sender, eventargs e)

5樓:匿名使用者

你設乙個狀態屬性就行了啊

比如初始化的時候是true 在你開啟一次之後設為false ,每次在開啟之前你先判斷這個屬性就行了啊

6樓:猶慕金清妍

定義乙個bool值

可以在form.show()前面加上判斷

7樓:匿名使用者

試試這個:

private form cp = null;

private void button3_click(object sender, system.eventargs e)

8樓:匿名使用者

用showdialog不用show

c#怎麼設定同乙個視窗只能開啟一次?

9樓:創作者

給你乙個強勢符合c#語言設計原理的辦法,假設我們有form1,form2,前者是啟動物件,後者是在前者基礎上開啟物件,我們就確認讓form2只可能開啟一次,**這樣寫:

在form2:

public event eventhandler endform;//委託乙個事件關閉窗體觸發

private void pupfrm_formclosed(object sender, formclosingeventargs e)

在form1:

public int frmcout = 0;//寄存初始值

private void logen_click(object sender, eventargs e)//登陸按鈕

;f.show();}}

這樣你去看一下,是不是不浪費時間,完美解決問題。c#委託是乙個很重要的部分,很多業務需要委託去實現,當然其他方法也可以,但是我推薦這一種

10樓:匿名使用者

定義乙個bool值 可以在 form.show()前面加上判斷

winform如何讓窗體只開啟一次

11樓:匿名使用者

因為執行load事件的時候,實際上窗體類已經例項化了,不同的例項chuang變數是獨立的,所以你這個限制是沒用的。你可以嘗試單例模式來例項化窗體。不過好像如果你是要做單程序的話,需要判斷一下程序是否存在。

12樓:匿名使用者

主窗體:(假設叫做form1)

public static form2 f2;//宣告窗體類靜態變數private void button1_click(object sender, eventargs e)

else

}form2子窗體:

//子窗體的關閉事件

private void form2_formclosing(object sender, formclosingeventargs e)

c# 讓乙個視窗只能同時存在乙個。 20

C語言曲線擬合原理,C語言如何實現二次曲線擬合

雖然抄我知道什麼是曲線擬合,襲怎麼做,但是我不清楚bai你問題的具體內容,從duchuaike24的回zhi答 請高手 說實話 我是菜鳥 但你 dao的程式感覺好凌亂 好多地方可以精簡說最明顯的問題 power函式返回值無論怎樣都返回0 來看,我可能是沒看到你的程式,所以資訊不全。我只回答什麼是曲線...

C照駕照審證幾年一次,如何操作,駕駛證c照要多少年年檢一次?

你的是什麼c證?2004.5.1 機動車駕駛證申領和使用規定 實施後,駕駛證已經取消了年審,6年換證 看你駕駛證正證上的有效期可以知道換證時間 但是b1,b2,a1,a2,a3證 以前的a證,b證 每年在你駕駛證的發證月份要向車管所提交乙份體檢表.其它證不用每年體檢.如果說你的駕駛證是老c證 c後面...

用c語言寫二元一次方程,用C語言求二元一次方程的根

printf 該一元二次方程有兩個解,x1 f,x2 f n x1,x2 你引號打錯了啊。用c語言求二元一次方程的根 include include int main void else if 0 delta else printf 您想繼續麼 y n scanf c ch c前面必須得加乙個空格 ...