簡體   English   中英

如何從類庫/文件中關閉調用窗體? 需要訪問調用表單並執行.close()

[英]How to close the calling windows form from a class library/ file? Need to access the calling form and do a .close()

我的winforms項目中有3個表單,所有表單都有一個按鈕,可以觸發打開Form2的相同代碼。 我需要通過將此代碼放在同一項目內的類文件中或將其放入單獨的類庫來集中代碼。 現在,代碼與下面的代碼形式相同:

frm1 entryform = (frm1)Application.OpenForms["frm1"];

if (entryform == null)
{
    entryform = new frmMainMenu();
}
entryform.StartPosition = FormStartPosition.Manual;
entryform.Location = this.Location;
entryform.Show();

this.close();

當我將此代碼從Form1,Form2,Form3移動到一個公共表單時,我無法訪問調用表單來替換this.close(); 是否有類似Method.CallingForm.Close()的屬性或c#中的某些內容? 請幫忙

我不想將表單作為參數傳遞。 表格太重,無法通過。 還有其他選擇嗎?

您不必擔心將表單作為參數傳遞,因為它很重。

表單是引用類型,不會導致性能下降。

如果您想考慮最佳實踐,則應該讓中心類在需要關閉表單時觸發事件。

將表單作為參數傳遞。

因為你傳遞的所有內容都是對表格的引用,而不是整個表格。

暫無
暫無

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

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