如:當一個表單被激活時,它們全部被激活,當一個表單被最小化時,它們都被最小化,等等。最簡單的形式「組」在一起?
0
A
回答
3
只有一個窗口可以被激活。否則你會問'擁有'的窗戶。使用顯示(所有者)重載。它確保當用戶激活主(所有者)窗口時,所有其他表單也移動到前臺。當主窗口最小化時,可以最小化。
0
我會使用表單的一個通用列表(類的靜態成員)(List<Form>
),並將設置屬性始終相同。例如在最小化事件等等...
1
我建議以下解決方案,我希望它是有用的:
第一:定義爲哥哥形式的接口:
public interface IFormBrothers
{
List<IFormBrothers> Brothers { get; set; }
}
然後實現該接口爲所有你希望他們的形式就像是兄弟如下:
public partial class FormB : Form, IFormBrothers
{
public List<IFormBrothers> Brothers { get; set; }
}
public partial class FormA : Form, IFormBrothers
{
public List<IFormBrothers> Brothers { get; set; }
}
然後添加以下擴展名:
public static class BrothersExntension
{
public static void SetAsBrother(this IFormBrothers form, IFormBrothers brother)
{
if (form.Brothers == null)
form.Brothers = new List<IFormBrothers>();
if (form.Brothers.Contains(brother))
return;
form.Brothers.Add(brother);
brother.SetAsBrother(form);
(form as Form).SizeChanged += (s, e) =>
{
foreach (var item in form.Brothers)
(item as Form).Width = (s as Form).Width;
};
}
}
注:SizeChanged將只是一個例子,你可以重複對所有的共享行爲,如果你能
最後:不要忘記的形式加入到他的兄弟一次:
var f1 = new FormA();
var f2 = new FormB();
f1.SetAsBrother(f2);
f1.Show();
f2.Show();
注意:將f1添加到f2已經足夠了,因爲f2會在內部添加f1。
祝你好運。
相關問題
- 1. Java - 最簡單的激進形式
- 2. 簡單形式的散列數組
- 3. 以最簡單,最簡單的方式編輯一個頁面
- 4. 以最佳方式將矩形組合在一起
- 5. 最簡單的方式來創建EditText像一個矩形框?
- 6. Rails:Collection簡單形式
- 7. 簡單的Yii形式
- 8. 記住簡單的形式
- 9. Bootstrap3和簡單的形式
- 10. 簡單的動態形式
- 11. Rails - 簡單的形式
- 12. 如何在一組簡單多邊形中分割多邊形
- 13. 以最簡單的方式實例化一個對象數組?
- 14. Rails 3簡單形式與引導和一組內聯輸入
- 15. 「最簡單」的方式來以圖形方式表示一個矩陣
- 16. 簡單形式標籤類
- 17. 將「新」形式轉換爲「編輯」形式的最簡單方法
- 18. 將幾種形狀組合在一起的最佳方式是什麼?
- 19. UIView最簡單的(矩形)陰影
- 20. 最簡單的格式,用於轉儲yEd的圖形
- 21. 什麼是最簡單的方法來創建Django的形式
- 22. 在Flex中以最簡單的方式處理綁定形式的NaN
- 23. 將簡單的字符串從一種形式傳遞到另一種形式
- 24. 最簡單的按鈕不起作用
- 25. 什麼是最好的,最簡單的繪製一個多條形圖在php
- 26. 以最簡單的形式顯示Android畫布滾動
- 27. Python:你如何找到最簡單的可分割形式
- 28. scala中最簡單的多線程形式
- 29. Scala中最簡單的進程通信形式
- 30. Rails簡單形式不同形式的不同樣式