11
A
回答
24
MDI控件的實際BackGround顏色基於Windows當前主題中的顏色。您必須在WinForm內物理設置MdiClient控件的背景。
// #1
foreach (Control control in this.Controls)
{
// #2
MdiClient client = control as MdiClient;
if (!(client == null))
{
// #3
client.BackColor = GetYourColour();
// 4#
break;
}
}
編輯 - 添加的註釋:
我們需要穿過的MdiParent形式的控制環路發現,當你設置的形式是的MdiParent是被添加了MDICLIENT控制。 Foreach只是一個集合類型的簡單迭代。
我們需要在表單中找到MdiClient控件,爲此,我們使用'as'關鍵字在循環內投射當前控件。使用'as'關鍵字表示如果強制轉換無效,則被設置的變量將爲空。因此我們檢查'客戶'是否爲空。如果是,則循環中的當前控件不是MdiClient控件。只要變量'client'不爲null,那麼我們掌握的控件就是MdiClient,我們可以設置它的背景顏色。
將backcolour設置爲任何你想要的。只需將「GetYourColour()」替換爲任何你想要的顏色,即Color.White,Color.Blue,Colour.FromArgb(等)...
因爲只有1個MdiClient,所以沒有意義繼續循環因爲這只是浪費處理時間。因此我們稱之爲'break'來退出循環。
讓我知道你是否想要別的解釋。
0
用您的MDI表單的加載方式將其寫入。
Controls.OfType<MdiClient>().FirstOrDefault().BackColor = Color.Purple;
相關問題
- 1. 無法更改背景顏色MDI C++
- 2. 更改表背景
- 3. 更改JSF表單的背景顏色
- 4. 在.net中更改MDI容器窗體的背景圖片或背景圖片
- 5. 如何更改表單背景顏色?
- 6. 設置背景MDI表格的形象
- 7. C#MDI家長通過單擊MDI父背景獲得焦點
- 8. 更改背景
- 9. 更改背景
- 10. 單擊 - DialogViewController的TableView背景更改元素的背景以及
- 11. 更改單擊背景的身體 - AngularJS
- 12. 更改單個ListView項目的背景
- 13. 更改Android菜單的背景顏色
- 14. 更改底部菜單項的背景
- 15. 將背景圖像添加到MDI表單
- 16. 更改我的列表的背景(Eclipse.Android)
- 17. 更改DataGridRowHeaderStyle(背景)?
- 18. 更改progressdialog背景
- 19. UIImagePicker更改背景?
- 20. 更改SDL背景
- 21. 更改UIPopover背景
- 22. jquery背景更改
- 23. 更改數據表的列背景
- 24. 更改行背景SlickGrid表的顏色。
- 25. 如何更改表格行的背景?
- 26. 更改列表視圖行的背景
- 27. 更改表格行的背景或類
- 28. 更改列表框的背景顏色
- 29. 表單背景
- 30. 更改菜單背景顏色選擇
感謝您的回覆。藉助您的編碼,我現在可以更改MDI表單的背景顏色。 我需要一個更多的幫助。由於我是C#的新手,如果可能的話,你能解釋一下編碼嗎? 非常感謝! – sheetal 2009-07-07 03:53:52