簡體   English   中英

以兩種Windows形式顯示控件

[英]To Show a Control in two Windows Forms

我從面板類繼承了一個控件。 我已經向該控件添加了一些事件。 我為該控件提供了移動功能,等等。

我有兩個顯示屏。 我有一個主程序,繼承的面板在一個小區域上顯示圖像。 我想全屏顯示此面板。

我創建了一個新表單並使用相同的控件...但是我無法將兩個屏幕一起移動。 我該怎么辦 ?

如果希望能夠同時操作兩種形式,請使用Show()而不是ShowDialog()來顯示第二種形式。 您當然可以將原始面板傳遞給第二個表單,然后將其添加到表單的Controls集合中。 我不確定這是否是最好的方法(在兩種形式之間共享一個控件),但是我也不知道您的要求。

我不會使用第二種形式,而是在現有表單上使用第二種“模式”(全屏或非全屏)。 您可以有2個面板控件,也可以只有一個並調整其大小。

我認為這種行為需要模型視圖模式。 如果實現了,其余的應該就位。

問題是您只有一個繼承面板的實例。 實際上,您必須先對其進行另一個“復制”,即創建新實例,然后才能將其添加到其他表單中。

Mypanel mypanel1 = new Mypanel();
Mypanel mypanel1copy = new Mypanel();

您可以在運行過程中始終編輯這些實例以包含相同的數據,也可以使用“深度復制”之類的方法:

如何在.NET(特別是C#)中對對象進行深層復制?

請記住,對mypanel1所做的任何更改mypanel1應該對mypanel1copy

暫無
暫無

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

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