我從Panel-Class繼承了一個控件。 我已經添加了一些事件到這個控件。我給移動 - 這個控件的能力 等等。在兩個Windows窗體中顯示控件
我有兩個顯示屏。我有一個主程序,繼承的 面板在小面積上顯示圖像。我想在一秒鐘內全屏顯示此面板 。
我創建了一個新窗體並使用相同的控件...但我無法將兩個屏幕 都放在一起。我該怎麼辦 ?
我從Panel-Class繼承了一個控件。 我已經添加了一些事件到這個控件。我給移動 - 這個控件的能力 等等。在兩個Windows窗體中顯示控件
我有兩個顯示屏。我有一個主程序,繼承的 面板在小面積上顯示圖像。我想在一秒鐘內全屏顯示此面板 。
我創建了一個新窗體並使用相同的控件...但我無法將兩個屏幕 都放在一起。我該怎麼辦 ?
如果您希望能夠同時處理這兩個表單,請使用Show()而不是ShowDialog()來顯示第二個表單。您當然可以將原始面板傳遞給第二個窗體並將其添加到窗體的Controls集合中。我不確定這是否是最好的方法(通過兩種形式共享一個控件),但我也不知道您的要求。
我已經使用.Show()我想在兩個窗口同時顯示圖像面板並同步工作。 如果移動主窗口中的面板比全屏中的面板也應該移動。你是怎麼同時操縱兩種形式的? – Cmptrb 2009-08-17 09:03:36
我不會使用第二種形式,而是在現有表單上使用第二種「模式」(全屏與非全屏模式)。 你可以有2個面板控件,或者只有一個,並調整大小。
我認爲這種行爲需要模型視圖模式。如果實施了,其餘的應該落實到位。
問題是你只有一個你的繼承面板的實例。在將其添加到其他表單之前,您實際上必須創建另一個「副本」,一個新實例。
Mypanel mypanel1 = new Mypanel();
Mypanel mypanel1copy = new Mypanel();
您可以編輯這些實例包含相同的數據的所有時間,通過運行,或者使用類似「深度複製」:
How do you do a deep copy of an object in .NET (C# specifically)?
請記住,任何變化mypanel1
也應該做到mypanel1copy
。
我很困惑你的問題。什麼「但我不能同時移動兩個屏幕」是什麼意思?你想讓一個屏幕充當另一個屏幕的放大鏡嗎?然後在圖像周圍移動小面板,只是全屏顯示面板下面的部分。那是對的嗎?這聽起來像是WPF中的一塊蛋糕。這對你來說是一種選擇嗎? – Bryan 2009-08-28 18:36:22